ฉันสามารถบังคับให้ Mac ใช้หน่วยความจำที่ไม่ได้ใช้งานได้ดีขึ้นหรือไม่


15

ฉันใช้ mysql และใช้หน่วยความจำสูงสุด 2.5 GB ฉันตรวจสอบการตรวจสอบกิจกรรมและเห็นว่าฉันมีหน่วยความจำที่ไม่ได้ใช้งาน 1GB แต่จะไม่เปลี่ยนแปลงแม้ว่าฉันจะมีหน่วยความจำว่างที่ใช้งานได้เพียง 10MB เท่านั้น มีวิธีการบังคับใช้หน่วยความจำที่ไม่ใช้งานหรือไม่?

คำตอบ:


18

คุณสามารถนึกถึงหน่วยความจำที่ไม่ได้ใช้งานเช่นหน่วยความจำฟรีที่สงวนไว้สำหรับแอปพลิเคชันที่เพิ่งปิด แต่พร้อมที่จะถูกใช้โดยผู้ใช้รายอื่นเมื่อหน่วยความจำฟรีที่ 'แท้จริง' หมดลง หากคุณมีหน่วยความจำ 1 GB (เพื่อให้การสนทนานี้ง่ายขึ้น) ในระบบที่บูตใหม่ให้จินตนาการว่าระบบปฏิบัติการใช้ 300 MB และคุณเปิดแอปที่ใช้ 200 MB ตอนนี้คุณมีการใช้งานทั้งหมด 500 MB และฟรี 500 หากคุณปิดแอปที่ใช้ขนาด 200 MB หน่วยความจำจะถูกทำเครื่องหมายว่าไม่ใช้งานและคุณจะมี 300 ใช้ (OS), ไม่ใช้งาน 200 และฟรี 500 หากคุณเปิดแอปที่ต้องการ 600 MB มันจะใช้หน่วยความจำฟรีจากนั้นดึงออกมาจากกลุ่มที่ไม่ได้ใช้งาน

คุณสามารถเพิ่มหน่วยความจำที่ไม่ได้ใช้งานได้โดยเปิด Terminal.app และพิมพ์ (โดยไม่ต้อง $):

 $ purge

คุณสามารถกำหนดค่า MySQL ให้ใช้หน่วยความจำได้มากขึ้น แต่ถ้าคุณไม่มีปัญหาเรื่องประสิทธิภาพฉันก็ต้องทิ้งทุกอย่างไว้:

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหน่วยความจำที่ไม่ได้ใช้งานใน OS X:


ขอบคุณสำหรับคำตอบของคุณ แต่ปัญหาของฉันคือระบบของฉันช้ามาก แต่ไม่ได้ใช้หน่วยความจำที่ไม่ได้ใช้งาน
AliBZ

ฉันแก้ไขตัวเองคุณสามารถล้างหน่วยความจำที่ไม่ได้ใช้งาน (อ้าว!) ดูคำตอบที่อัปเดต ดูเหมือนว่าคุณจะมีอย่างอื่นเกิดขึ้น คุณกำลังใช้งาน VMs หรือไม่? แอปพลิเคชั่นเปิดมากมาย คุณแน่ใจหรือว่าเป็นปัญหาหน่วยความจำ อาจเป็นปัญหาคอขวดของ CPU? ดิสก์ I / O
Aaron Lake

ฉันกำลังเรียกใช้ mysql ด้วยข้อความค้นหาจำนวนมาก ฉันไม่มีแอปพลิเคชันขนาดใหญ่อื่น ๆ ทำงานอยู่
AliBZ

@AliBZ: ระบบของฉันช้ามาก แต่ไม่ได้ใช้หน่วยความจำที่ไม่ได้ใช้งาน : ระบบอาจช้าเนื่องจากการใช้งาน CPU คุณตรวจสอบสิ่งนี้หรือไม่
Nivas

นี่เป็นมุมมองทางทฤษฎีที่ดีมากของระบบซึ่งเป็นสิ่งที่ Apple อ้างสิทธิ์ แต่ฉันมี pb เดียวกับ OP และpurgeหยุดระบบของฉันสองสามวินาทีและทำ ... ไม่มีอะไรเลย (อย่างน้อยก็เกี่ยวกับหน่วยความจำที่ไม่ได้ใช้งาน pb) และใช่ระบบของฉันก็ทำการแลกเปลี่ยนเช่นกันแม้ว่าฉันควรจะมี RAM มากกว่า 1GB
PierreBdR

0

หากต้องการขยายคำตอบของแอรอน:

กรณีของคุณอาจมีปัญหากับ MySQL ที่ใช้ทรัพยากรมากเกินไป แต่ Inactive Memory นั้นเหมือนกับหน่วยความจำฟรีสำหรับระบบปฏิบัติการ ความแตกต่างระหว่างที่ไม่ใช้งานและฟรีที่ไม่ได้ใช้งานได้รับเมื่อเร็ว ๆ นี้ที่ใช้ดังนั้นหากคุณตัวอย่างเช่นเปิด iTunes และจะใช้ 200MB เมื่อคุณปิดโปรแกรมที่ได้รับการปิดความทรงจำของ iTunes ทำเครื่องหมายว่าไม่ได้ใช้งาน แต่ก็ยังคงเป็นเช่นนั้นเว้นแต่ที่จำเป็น อีกครั้ง แต่ถ้าคุณเปิด iTunes ขึ้นมาอีกครั้ง OS X จะรู้ว่ามันมีอยู่แล้วและไม่ได้ใช้งานดังนั้นมันจะทำเครื่องหมายว่ามันใช้งานได้อีกครั้งและvoiláนั่นเร็วกว่าการโหลดจากฮาร์ดไดรฟ์ที่ช้ากว่า

ให้ข้อมูลเพิ่มเติมเกี่ยวกับคอมพิวเตอร์ของคุณเพื่อช่วยค้นหาสาเหตุของระบบ "ช้า" ของคุณ

อัปเดต : นี่คือข้อมูลเพิ่มเติมเกี่ยวกับหน่วยความจำและ OS X (จาก Apple):

http://support.apple.com/kb/ht1342


ตัวอย่างเช่นฉันมีสิ่งนี้ในการตรวจสอบกิจกรรมของฉัน: mysqld -> 2.2 GB oovoo -> เคอร์เนล 190 MB -> firefox 150 MB -> 148 MB และแอปอื่น ๆ ฉันมีหน่วยความจำว่าง 26MB และหน่วยความจำที่ไม่ได้ใช้งาน 1GB และระบบของฉันค่อนข้างช้าในขณะนี้ แต่หน่วยความจำที่ไม่ได้ใช้งานของฉันจะไม่เปลี่ยนแปลง
AliBZ

@AliBZ: การนับ "การเอาต์เอาท์" นับในการปีนกิจกรรมการตรวจสอบหรือไม่? นั่นเป็นตัวบ่งชี้ที่ดีที่สุดที่ฉันรู้ว่าระบบไม่ได้ใช้ RAM ได้จริง (และต้องสลับเนื้อหาหน่วยความจำออกไปยังดิสก์เพื่อให้มีพื้นที่ว่าง) โปรดทราบว่า "หน้าอิน" ไม่ได้เป็นตัวบ่งชี้ที่มีประโยชน์เนื่องจากจะเพิ่มขึ้นทุกครั้งที่มีการเปิดตัวโปรแกรมจากดิสก์
Gordon Davisson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.