เซิร์ฟเวอร์ของฉันมี 2GB RAM และ 120GB SSD รวมทั้งอาร์เรย์ RAID บางส่วนสำหรับจัดเก็บข้อมูล ระบบปฏิบัติการคือ Debian 8 (Linux 3.16)
ฉันมีแอพพลิเคชั่นที่ใช้ MySQL ที่มีtmpdir
= /run/mysqld
ซึ่งtmpfs
กำหนดค่าโดย Debian ผ่าน/etc/default/tmpfs
:
# Size limits. Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
สิ่งนี้เคย20%VM
เป็นประมาณ 384M ฉันวิ่งแข่งหลายครั้งno space left on device
ดังนั้นฉันจึงเพิ่มมันเป็นถึง40%VM
แม้จะมีขนาดประมาณ 763M ก็ยังเล็กเกินไป
ตอนนี้ฉันตอนนี้ฉันควรเพิ่ม RAM เพิ่มเติม แต่จากความอยากรู้อยากเห็นฉันต้องการทราบขีด จำกัด ที่นี่
/dev/sdd1
ติดตั้งบน/
มีฟรีประมาณ 50GB และค่อนข้างเร็ว (Samsung 850 EVO SSD)/dev/sdd5
เป็นพาร์ติชั่นสว็อปของฉันคือ 3.7G (ID ประเภท fdisk คือ 82)TMPFS_SIZE
ถูกตั้งค่าเป็น40%VM
ความหมาย/run
คือ 763M
ตอนนี้ฉันรู้แล้วว่า tmpfs สามารถแลกเปลี่ยนซึ่งใช้ได้กับฉัน ฉันต้องการให้ MySQL เขียนไปที่ RAM ทุกครั้งที่ทำได้ แต่ถ้าต้องการหน่วยความจำมากกว่านี้ฉันสามารถอนุญาตให้ระบบทำการสลับบน SSD
ดังนั้นด้วยการตั้งค่าของฉันฉันสามารถผลักดัน/run
ให้เป็น:
- ใหญ่ 300 ล้านใช่ไหม ใช่. นั่นคือค่าเริ่มต้น
- ใหญ่ 1.5GB? ใช่แล้วพยายามใช้ MySQL สูงถึง 1.3GB และระบบทำงานได้อย่างมีเสน่ห์ แต่นั่นยังน้อยกว่าครึ่งหน่วยความจำกายภาพ + พาร์ทิชันสลับ
- ใหญ่ 2.5GB? นี่เป็นมากกว่าหน่วยความจำกายภาพ แต่น้อยกว่าครึ่งหนึ่งของหน่วยความจำกายภาพ + พาร์ทิชัน swap ของฉัน
- 4GB ใหญ่หรือไม่ สิ่งนี้จะพอดีกับการแลกเปลี่ยนทางกายภาพครึ่งหนึ่ง
- มากกว่า? เช่น 10GB มันสามารถใช้พื้นที่ว่างใน
/
การแลกเปลี่ยนเพิ่มเติมหรือไม่
ฉันเดาว่ากฎความปลอดภัยต้องมีTMPFS_SIZE
ขนาดไม่ใหญ่กว่า swap + หน่วยความจำกายภาพครึ่งหนึ่ง ฉันจะไปให้ไกลกว่านี้ได้หรือไม่โดยไม่เพิ่มพาร์ทิชัน swap
นอกจากนี้ยังเป็นไปได้ที่จะใส่200%VM
ใน/etc/default/tmpfs
? ฉันได้อ่านtmpfs(5)
โดยไม่ทราบว่าสามารถใส่มากกว่านี้ได้ไหม> 100%
สุดท้ายฉันควรทำมัน/etc/fstab
แทนและอย่าแตะต้อง/etc/default/tmpfs
?
(รู้ว่าฉันได้ทำไปแล้วเท่านั้นmount -o remount
ฉันยังไม่ได้รีบูตเซิร์ฟเวอร์)
แก้ไข: สำหรับคำถามสุดท้ายฉันรู้ว่าสามารถ / อาจแก้ไขได้/etc/fstab
(ดูข้อความด้านล่างจากหน้า man) แต่ฉันต้องการทราบวิธีปฏิบัติที่ดีที่สุดเพราะฉันไม่เคยสัมผัสอะไร/etc/default
เลย
ตัวเลือกการเมาท์ที่ซับซ้อนมากขึ้นอาจถูกใช้โดยการสร้างรายการที่เหมาะสมใน / etc / fstab