คำถามติดแท็ก memory-management

การจัดการหน่วยความจำคือการจัดการหน่วยความจำคอมพิวเตอร์ในระดับระบบ คำถามที่ติดแท็กด้วยการจัดการหน่วยความจำสามารถครอบคลุมแอปพลิเคชันและระบบปฏิบัติการ

5
วิธีการปิดการใช้งาน Mac OS X จากการใช้ swap เมื่อยังมีหน่วยความจำ“ Inactive” อยู่?
ปรากฏการณ์ที่พบบ่อยในการใช้งานแบบวันต่อวัน (และอีกหลายรายการอ้างอิงจากการโพสต์ต่าง ๆ ทางอินเทอร์เน็ต) ของ OS X ดูเหมือนว่าระบบจะช้าเมื่อใดก็ตามที่ไม่มีหน่วยความจำ "ว่าง" เพิ่มอีก สมมุติว่านี่เป็นเพราะการแลกเปลี่ยนเนื่องจากกิจกรรมบนดิสก์มีความชัดเจนและ vm_stat รายงานจำนวนหน้าเว็บหลายหน้า (แก้ไขให้ฉันผิด) อย่างไรก็ตามจำนวนของ ram "Inactive" ram มักจะอยู่ที่ประมาณ 12.5% ​​-25% ของหน่วยความจำที่มีอยู่ทั้งหมด (^ 1) เมื่อทำการสลับเริ่ม / เกิด / สิ้นสุด อ้างอิงจากhttp://support.apple.com/kb/ht1342 : หน่วยความจำที่ไม่ได้ใช้งาน ข้อมูลนี้ในหน่วยความจำไม่ได้ถูกใช้อย่างแข็งขัน แต่เพิ่งถูกนำมาใช้ ตัวอย่างเช่นถ้าคุณใช้ Mail แล้วออกจากนั้น RAM ที่ Mail ใช้นั้นถูกทำเครื่องหมายเป็นหน่วยความจำที่ไม่ได้ใช้งาน หน่วยความจำที่ไม่ใช้งานนี้สามารถใช้งานได้โดยแอปพลิเคชันอื่นเช่นเดียวกับหน่วยความจำฟรี อย่างไรก็ตามถ้าคุณเปิด Mail ก่อนที่จะใช้หน่วยความจำที่ไม่ใช้งานโดยแอปพลิเคชันอื่น Mail จะเปิดเร็วขึ้นเพราะหน่วยความจำไม่ได้ใช้งานจะถูกแปลงเป็นหน่วยความจำที่ใช้งานแทนการโหลดจดหมายจากฮาร์ดดิสก์ที่ช้าลง และเป็นไปตามhttp://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html : รายการที่ไม่ได้ใช้งานมีหน้าต่างๆที่อยู่ในหน่วยความจำกายภาพ …

5
เป็นไปได้ไหมที่จะทำการแทรกแซง OOM killer ก่อนหน้านี้?
ฉันพยายามปรับแต่งระบบการพัฒนาของฉันเพื่อความน่าเชื่อถือสูงสุด ฉันปิดการแลกเปลี่ยนเพราะสำหรับการใช้งาน GUI ส่วนใหญ่จะทำให้เครื่องไม่ตอบสนองในลักษณะที่ไม่สามารถใช้งานได้อีกต่อไป อย่างไรก็ตามหากแอ็พพลิเคชันแบบก้าวร้าวกลืนกินความทรงจำกลไกบางอย่างก็ดูเหมือนจะทำให้มันเกิดประโยชน์สูงสุดจากต้นทุนความเร็ว ไม่มีการดำเนินการสลับฮาร์ดไดรฟ์ แต่ระบบก็ไม่ตอบสนองเช่นเดียวกัน ดังนั้นฉันต้องการปล่อยให้นักฆ่า OOM เตะก่อนที่ระบบจะใช้ความพยายามพิเศษเพื่อเพิ่มความจำ เป็นไปได้หรือไม่ที่จะกำหนดค่า OOM killer ให้ทำงานหากมีหน่วยความจำกายภาพว่างน้อยกว่า 100 MB?

6
อยู่ที่ไหนแคช L1, L2 และ L3 อยู่ในคอมพิวเตอร์?
อยู่ที่ไหนแคช L1, L2 และ L3 อยู่ในคอมพิวเตอร์? ฉันรู้ว่าเราใช้แคชเพื่อเพิ่มประสิทธิภาพโดยการเลือกข้อมูลและคำแนะนำจากแคชมากกว่าหน่วยความจำหลัก ต่อไปนี้เป็นคำถามของฉัน ที่ตั้งของ L1 Cache อยู่ที่ไหน . อยู่ในชิปซีพียู? ที่ตั้งแคช L2 อยู่ที่ไหน ที่ตั้งแคช L3 อยู่ที่ไหน อยู่ในคณะกรรมการแม่? ฉันคิดว่าโปรเซสเซอร์ SMP ล่าสุดใช้แคช 3 ระดับดังนั้นฉันจึงต้องการเข้าใจลำดับชั้นระดับแคชและสถาปัตยกรรมของพวกเขา

2
ใน Windows 8.1 มีวิธีใดบ้างที่จะทำให้มั่นใจว่ากระบวนการจะไม่ถูกฆ่าก่อนที่จะหมดเมื่อ RAM หมด
ฉันเขียนแอปพลิเคชั่น. NET 4.5 ที่บัฟเฟอร์สีข้อมูลอินฟราเรดและข้อมูลเชิงลึกจาก Kinect v2 ทำการประมวลผลบางอย่างแล้วประมวลผลลงในดิสก์ในรูปแบบที่ไม่มีการบีบอัด แอ็พพลิเคชัน. NET ยังเริ่ม ffmpeg ในฐานะ subprocess และไพพ์ข้อมูลสีเพื่อให้เข้ารหัสเป็น H.264 เนื่องจากฉันไม่ได้ใช้ SSD ข้อมูลวิดีโอจึงมาถึงเร็วกว่าที่ฉันสามารถเขียนลงดิสก์ได้ แต่ก็โอเคมันเป็นที่ยอมรับสำหรับฉันที่จะทิ้งเฟรมวิดีโอเมื่อฉันเหลือแรมน้อย สิ่งที่ฉันต้องการเพียงอย่างเดียวคือสิ่งที่ฉันทำต่อเนื่องเป็นส่วนใหญ่ต่อเนื่อง 8-10 วินาทีวิดีโอ ดังนั้นฉันจึงได้เพิ่มตรรกะบางอย่างในแอปพลิเคชั่น. NET 4.5 ของฉันเพื่อเริ่มทิ้งเฟรมวิดีโอเมื่อฉันไม่มี RAM เพียงพอที่จะบัฟเฟอร์บัฟเฟอร์ต่อเนื่องวิดีโอ 8 ถึง 10 วินาที (ประมาณ 1.5 ถึง 2 GB) และเพื่อป้องกันการฟาดหน้าฉันจึงปิดการใช้งานไฟล์เพจจิ้งอย่างสมบูรณ์ ทำให้ฉันมี RAM จริงทั้งหมด 16 GB ปัญหาของฉันคือแม้จะมีกลไกนั้นอยู่แล้วบางครั้งแอปพลิเคชัน. NET ของฉันหรือกระบวนการย่อย ffmpeg ยังคงถูกฆ่าเมื่อ Windows 8.1 …

4
การฆ่ากระบวนการยังถือว่าไม่ดีสำหรับการจัดการหน่วยความจำหรือไม่?
ดังนั้นฉันมีการพูดคุยกับเจ้านายของฉันเล็กน้อยเกี่ยวกับการจัดการหน่วยความจำ ฉันได้รับแจ้งว่าการฆ่ากระบวนการไม่อนุญาตให้ยกเลิกการจัดสรรหน่วยความจำ เป็นเช่นนั้นหรือไม่หรือเป็นปีที่ผ่านมา? เรากำลังพูดถึงทั้ง Windows และ OS X ที่นี่

1
เพิ่มการตอบสนองบนเดสก์ท็อปบน linux ขณะสลับเปลี่ยน
ดิสทริบิวชัน GNU / Linux ทั้งหมดที่ฉันทดสอบมีปัญหาว่าเมื่อใดก็ตามที่หน่วยความจำเต็มและระบบเริ่มทำการแลกเปลี่ยนส่วนติดต่อผู้ใช้แบบเดสก์ท็อปและกราฟิกทั้งหมดไม่ตอบสนองเหมือนนรกจนบางครั้งฉันต้องรอประมาณ 5-10 วินาที ต้องย้ายเมาส์ที่มีอยู่จริงจนกว่าตัวชี้เมาส์จะเคลื่อนไหวจริง นี่เป็นพฤติกรรมที่น่ารำคาญโดยเฉพาะในระบบที่มี RAM ต่ำ มีวิธีใดบ้างที่จะให้แอปพลิเคชั่น / งานบางอย่างเช่นสภาพแวดล้อมเดสก์ท็อป ฯลฯ มีความสำคัญสูงกว่าที่จะอยู่ใน RAM มากกว่าแอปพลิเคชันอื่น ๆ ดังนั้นแอปพลิเคชันที่ใช้หน่วยความจำทั้งหมด แก้ไข: ฉันกำลังพูดถึงกรณีที่มีการใช้ RAM ทั้งหมดดังนั้นมันจะเริ่มการแลกเปลี่ยนหากไม่ได้ปิดใช้งาน (ฉันไม่ต้องการให้กระบวนการถูกสุ่มฆ่า) ฉันมีปัญหานี้ไม่เพียง แต่ในสภาพแวดล้อม ram ต่ำ แต่เช่นกันกับ ram 8GiB บนเครื่องเดสก์ท็อปของฉันส่วนหนึ่งเนื่องจาก VMs จำนวนมากส่วนหนึ่งเนื่องจากหน่วยความจำรั่ว ZRAM ไม่ใช่วิธีการแก้ปัญหาอย่างใดอย่างหนึ่งเนื่องจากเป็นเพียงการหน่วงปัญหา ทางออกเดียวที่ฉันนึกถึงสำหรับปัญหานี้คือยูทิลิตี้ userpace หรือ kernel API ที่อนุญาตให้ป้องกันการสลับงานบางงานหรืออย่างน้อยก็ทำให้เป็นไปได้ยากมาก ไม่มีใครรู้วิธีการแก้ปัญหาอื่นหรือรู้อะไรเกี่ยวกับเครื่องมือหรือ API ดังกล่าวในการดำรงอยู่หรือการวางแผน? แก้ไขครั้งที่สอง: ulatencydดูเหมือนจะไม่ทำงานกับ systemd รุ่นใหม่กว่าตามhttps://aur.archlinux.org/packages/ulatencyd-git/และhttps://wiki.archlinux.org/index.php/Ulatencyd …

3
จัดเรียงมุมมองต้นไม้ใน htop หรือทางเลือก?
ฉันใช้ Linux เป็นรุ่น Debian และฉันใช้ htop เพื่อติดตามการใช้หน่วยความจำเนื่องจากมีรายละเอียดมากกว่าด้านบน ดูเหมือนว่าฉันจะไม่สามารถเรียงลำดับตามหน่วยความจำและแสดงแผนผังกระบวนการพร้อมกันได้ มีวิธีการทำเช่นนี้กับ htop หรือทางเลือกหรือไม่?

1
หน่วยความจำแบบมีสายและหน่วยความจำที่ใช้งานอยู่ใน OS X
ฉันมีปัญหาในการเข้าใจความแตกต่างระหว่าง Wired Memory และ Active Memory ใน OS X อย่าพูดถึงหน่วยความจำสี่ประเภท (อย่าพูดถึงหน่วยความจำที่ว่างหรือไม่ได้ใช้งานเพราะฉันรู้แล้วว่าหน่วยความจำเหล่านี้คืออะไร) เพียงเปรียบเทียบและเปรียบเทียบหน่วยความจำแบบใช้สายกับหน่วยความจำที่ใช้งานอยู่เพื่อให้ฉันสามารถเข้าใจทั้งสองได้ดีขึ้น

1
ไฟล์ใดบ้างที่ถูกแคชโดย linux?
ฉันเข้าใจว่า linux ใช้ RAM ที่ไม่ได้ใช้เพื่อเก็บบางไฟล์ไว้ในแคช แต่ฉันสงสัยว่าไฟล์ใดที่แคชจริง! ถ้าคุณดูที่free: Gesamt Belegt Frei Gemeinsam Puffer Cached Speicher: 5,8G 3,7G 2,1G 0B 259M 1,7G -/+ Puffer/Cache: 1,8G 4,0G Auslagerungsdatei: 4,0G 0B 4,0G มันบอกว่า 1.7 GB ของ RAM ของฉันถูกใช้เป็นแคช ฉันรู้ว่านี่ไม่ใช่พฤติกรรมที่เป็นอันตราย แต่ฉันอยากรู้ว่าไฟล์ใดที่ Linux พิจารณาว่าคุ้มค่ากับแคช มีคำสั่ง / ไฟล์ที่แสดงไฟล์แคชหรือไม่

4
ฉันจะ จำกัด หรือปิดการใช้งานแคชไฟล์ใน Windows Server 2008R2 ได้อย่างไร
มีเครื่องพร้อมอาเรย์ RAID ที่รวดเร็วมากและการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็ว แต่ก็มีเพียง 8gb ของข่าวซึ่งไหลออกมาจริงๆอย่างรวดเร็วเมื่อการอัปโหลดขึ้นไป ความคิดใด ๆ ที่ฉันจะปิดการใช้งานหรือ จำกัด แคชได้อย่างไร (ฉันได้ลองปิดการใช้งาน Write Cache จาก Device Manager แต่นั่นเป็นเพียงการเขียนแคชและมันก็ไม่ได้ช่วยอะไร)

3
ทำไม Ubuntu ขนาด 32 บิตถึงเห็น RAM ขนาด 8GB
ฉันเพิ่งติดตั้งอูบุนตูใหม่ 11.04 32 บิตและฉันรู้สึกประหลาดใจที่เห็นว่าระบบปฏิบัติการสามารถดู RAM 8GB ของฉันไม่เหมือนกับระบบปฏิบัติการ Windows 32 บิต มันทำงานยังไง? การจับคู่ที่อยู่ดำเนินการอย่างไร มันมีประสิทธิภาพหรือไม่ ทำไมมันไม่ทำงานกับระบบ Windows

3
จะทราบได้อย่างไรว่าโปรแกรมหรือบริการใดที่ใช้เวลานานและหลังการเริ่มพีซี?
ฉันต้องการระบุว่าโปรแกรมใดกินและใช้ทรัพยากรคอมพิวเตอร์ใน Windows 7 ระหว่างการเริ่มระบบและหลังจากเข้าสู่ระบบเพราะหลังจากที่ฉันเข้าสู่ระบบ LED ในฮาร์ดดิสก์ของฉันจะติดสว่างเป็นเวลาเกือบ 5 นาที ฉันต้องการที่จะรู้ว่าโปรแกรม "กิน" ฮาร์ดดิสก์ของฉัน? และฉันจะทำให้พีซีของฉันเร็วขึ้นได้อย่างไร

2
เกี่ยวกับแคชหน่วยความจำของ Linux
ฉันใช้สคริปต์ของหลามเพื่อทำสถิติบางอย่างและหน่วยความจำที่ใช้จริงอยู่ในระดับต่ำประมาณ 10% และไม่มีกระบวนการอื่นที่ต้องใช้หน่วยความจำมากขึ้น แต่เมื่อฉันใช้ free -m และมันแสดงให้เห็นว่ามีการใช้หน่วยความจำเกือบ 95% ประเด็นก็คือสคริปต์ของฉันควรอ่านจากไฟล์จำนวนมากดังนั้นฉันสงสัยว่ามีกลไกของแคชหน่วยความจำ Linux ที่ทำให้เกิดปัญหาหรือไม่ echo 1 >> /proc/sys/vm/drop_caches ใช้งานได้ แต่ดูเหมือนว่าด้วยตนเองฉันจะลดต้นทุนหน่วยความจำได้อย่างไรและไม่ส่งผลเสียต่อการอ่านไฟล์

2
เหตุใดการใช้ RAM จึงใหญ่กว่าการใช้หน่วยความจำเสมือน
ฉันใช้การทดสอบบางอย่างกับเครื่องที่ทรงพลังมาก (24GB RAM, Window 2008 64 บิต) ฉันตรวจสอบตัวจัดการงานของฉัน: หน่วยความจำกายภาพ: 98% (RAM คือ 24GB) แต่การใช้งาน "หน่วยความจำ (ชุดการทำงานส่วนตัว)" โดยสิ้นเชิงของโปรเซสเซอร์ที่ใช้งานอยู่ทั้งหมดไม่เกิน 16GB 8GB พิเศษเหล่านั้นใช้อยู่ที่ไหน มันใช้บัฟเฟอร์ของระบบปฏิบัติการ IO หรือที่อื่น ๆ ? ใครสามารถมีส่วนร่วมในความคิดบ้างไหม?

3
การใช้หน่วยความจำรวมสูงสุดของฉันคืออะไร RAM ของฉันมีการใช้งานจริงเท่าใด
มีแอพหรือยูทิลิตี้ใน Windows ที่แสดงให้ฉัน ค่าสูงสุด ของหน่วยความจำที่ใช้งาน (เช่นจำนวนหน่วยความจำที่ใช้ร่วมกันและส่วนบุคคลของกระบวนการไดรเวอร์และระบบปฏิบัติการ) (ไม่ใช่โหมดสแตนด์บายและว่าง) ฉันมีหน่วยความจำจำนวนมากและฉันกำลังติดตั้งแคชไฟล์ในหน่วยความจำเรียกว่า "eBoostr" และต้องการทราบว่าหน่วยความจำจะจัดสรรให้หน่วยความจำเท่าใด โดยพื้นฐานแล้วฉันต้องการคำตอบสำหรับคำถามว่า "RAM ของฉันมีการใช้งานจริงมากแค่ไหน" W

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