วิธีเพิ่มหน่วยความจำ "จำศีลอย่างเต็มที่" กระบวนการได้อย่างไร


10

คล้ายกับสิ่งนี้: วิธี "จำศีลกระบวนการ" ภายใต้ Linux / Windows

มีวิธีการจำศีลในกระบวนการในลักษณะที่ไม่ได้อยู่ในหน่วยความจำหรือไม่? เช่น: หากฉันไม่ต้องการใช้ Firefox และไม่ต้องการปิดกระบวนการและฉันต้องการหน่วยความจำว่างแล้วฉันจะจำศีลกระบวนการได้อย่างไรเพื่อให้หน่วยความจำที่สงวนไว้โดย Firefox เป็นอิสระ?

ฉันต้องการโซลูชันสำหรับทั้ง Windows และ Linux!

คำตอบ:


4

หากฉันไม่ต้องการใช้ Firefox และไม่ต้องการปิดกระบวนการและฉันต้องการหน่วยความจำว่างแล้วฉันจะจำศีลในกระบวนการได้อย่างไรดังนั้นหน่วยความจำที่สงวนไว้โดย Firefox จะทำให้เป็นอิสระ?

สำหรับ Windows มีกระบวนการฟรีตู้แช่แข็ง

สำหรับ Linux และ Mac OS X มีCrypoPIDที่กล่าวไว้ในคำตอบของ yeedl


หากคุณต้องการโซลูชันที่กำหนดเอง:

ดูprocess dumpingบน Windows เช่น ProcDumpกลับมาด้วยดีบัก CLI จากWinDBG

ดูcore dumpingที่ Linux เช่น หลักกลับมาด้วยดีบัก CLI เช่นGNU GDB

ฉันเดิมพันโซลูชันที่ใช้ซอฟแวร์ที่ไม่เกี่ยวข้องกับการดีบักที่เป็นไปได้ แต่ที่สำหรับกองมากเกิน


คุณกำลังมองหากรณีการใช้งานที่เฉพาะเจาะจงมากทำไมไม่เพียงแค่หยุดและปล่อยให้มันสลับกัน?

คุณจะใช้เวลามากขึ้นในการทำให้กระบวนการทำงานและหยุดทำงาน ...

ฉันเชื่อว่าคุณสามารถเพิ่มประสิทธิภาพเวิร์กโฟลว์ของคุณในวิธีอื่นที่จะราบรื่นมากขึ้น


5

ทั้ง Windows และ Linux / Unix จัดเตรียมวิธีในการหยุดชั่วคราวหรือหยุดกระบวนการจากการดำเนินการโดยลบมันออกจากรายการกระบวนการที่ทำงานได้

สิ่งนี้ไม่ส่งผลกระทบโดยตรงต่อเพจหน่วยความจำที่เป็นของกระบวนการ แต่เมื่อเวลาผ่านไประบบจะถูกกดดันสำหรับหน่วยความจำเพจเหล่านั้นจะเป็นตัวเลือกที่ดีในการสลับไปยังดิสก์

การพยายามเขียนกระบวนการลงดิสก์เพื่อเริ่มต้นใหม่ในภายหลังจะไม่ทำงานกับสิ่งที่ไม่สำคัญ เปิดการจัดการกับเครือข่ายและระบบหน้าต่างจะล้มเหลวทันทีที่กระบวนการดำเนินการต่อ


มันจะไม่ทำงานเพื่ออะไรเล็กน้อยเช่นกัน :) +1
user541686

1
ที่จับเปิดที่เพิ่งเปิดใหม่อีกครั้งหรือเก็บไว้พร้อมจึงไม่เป็นปัญหาจริงๆ ...
Tamara Wijsman

2

ฉันรู้ในFirefoxคุณสามารถบันทึกเซสชั่น

ในลินุกซ์นี้สามารถทำได้ด้วยCrypoPID

นี้คำถามนี้หนึ่งพยายามที่จะตอบมันสำหรับ Windows แต่ฉันไม่สามารถหาทางออกที่ดีของการประหยัดรัฐประยุกต์ใช้ในไฟล์เช่นผมสำหรับลินุกซ์


1

สำหรับ Windows:

ฉันไม่รู้วิธีที่จะขับไล่กระบวนการจากหน่วยความจำโดยไม่ฆ่า แต่คุณสามารถตัดชุดการทำงานโดยลดหน้าต่างหลัก Microsoft มีบทความที่อธิบายนี้: ชุดการทำงานของโปรแกรมจะถูกตัดแต่งเมื่อหน้าต่างระดับบนสุดของมันจะลดลง

ดังนั้นก่อนลดหน้าต่างหลัก (s), แล้วระงับการดำเนินการตามข้อเสนอแนะในคำถามที่คุณเชื่อมโยง

คุณสามารถทำได้ทั้งสองอย่างด้วยProcess Explorer ที่มีประโยชน์มาก

  • กระบวนการคลิกขวาหน้าต่าง -> ย่อเล็กสุด
  • คลิกขวาอีกครั้งระงับ

1

ใน Windows บางโปรแกรมสามารถสลับหน่วยความจำโปรแกรม "ไม่ได้ใช้" สลับออกได้
ตัวอย่างของผลิตภัณฑ์ที่สามารถทำเช่นนั้นเป็นเชิงพาณิชย์กระบวนการเชือก
อย่างไรก็ตามถึงแม้ Process Lasso จะทำตามคำแนะนำกับการฝึกฝนนั้น

จากความจริงเกี่ยวกับเครื่องมือเพิ่มประสิทธิภาพหน่วยความจำ Windows :

เป็นการดีที่สุดที่จะปล่อยให้การจัดการหน่วยความจำเสมือนเป็น Windows และไม่ได้อยู่ในมือของคุณเอง ผลประโยชน์ใด ๆ จากโปรแกรมเหล่านี้คือภาพลวงตาและชั่วคราว คุณได้รับโทษของหน่วยความจำการเพจไม่ช้าก็เร็วแม้ว่าจะปรากฏว่าโปรแกรมที่คุณรันหลังจากการล้างข้อมูลโหลดเร็วขึ้น

ตอนนี้เกี่ยวกับ Firefox ดูการใช้หน่วยความจำ Reducingของ mozillaZine - Firefoxซึ่งมีคำแนะนำมากมายเกี่ยวกับวิธีการค้นพบว่าส่วนขยายใดที่หน่วยความจำรั่ว

นอกจากนี้ยังมี Firefox ส่วนขยายMemory Foxซึ่ง:

การพยายามลดการใช้หน่วยความจำ RAM ของเบราว์เซอร์ที่ส่งเสริมการเพิ่มหน่วยความจำ RAM ที่มีอยู่สำหรับแอปพลิเคชันอื่น ๆ ประมวลผลข้อกำหนดหน่วยความจำ RAM หวังว่าจะส่งเสริมความพยายามในการกู้คืนและเก็บรักษาหน่วยความจำ

จากประสบการณ์ของฉันส่วนขยายนี้จะเลื่อนการขยายหน่วยความจำที่หลีกเลี่ยงไม่ได้ของ Firefox เท่านั้น ทางออกจริงเท่านั้นคือการปิด Firefox เป็นครั้งคราวเพื่อปลดปล่อยหน่วยความจำ


1

คุณสามารถส่งสัญญาณ STOP ไปยังกระบวนการใน Linux กระบวนการหยุดก็เหมือนหยุดชั่วคราว เพื่อดำเนินการต่อให้ส่งสัญญาณต่อกระบวนการ ในการส่งสัญญาณคุณสามารถทำได้:

kill -STOP process_id

kill -CONT process_id

กระบวนการที่หยุดจะถูกสลับหากระบบต้องการหน่วยความจำเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.