วิธีเอา Ram ที่หายไปคืนใน Centos

ใครเคยเจอเหตุการณ์ที่ไม่รู้ว่า Ram เราไปใช้กับ Process ไหนหาเท่าไรก็ไม่เจอใน Case ของผมดูแบบผ่านๆมันเหมือนหายไป 2–3 GB เลยทีเดียว ก็เลยเอะทำไมอะไรใช้ไปนะ MySQL Config ก็ไม่ได้ Config ให้ใช้ Ram เยอะหนิ สุดท้ายก็มาเจอว่ามันอยู่ใน “Cached Ram” !! โอ๋วเราจะรู้ได้ยังไง คำสั่งนี้เลยครับ

free -m

จะได้เห็นภาพแนวๆนี้ ซึ่งสังเกตุแล้วว่า cached ขึ้นมา 51 ตรงนั้นคือ MB นะครับซึ่งก่อนหน้านี้มันกินไป 3gb เลยทีเดียว ดังนั้นเรามาหาวิธีคืน Ram กันโดยผมก็ไปหาเจอมีคำสั่งดังนี้

sync; echo 3 > /proc/sys/vm/drop_caches

โดยคำสั่งนี้ง่ายๆคือ Drop Cache ทุกรูปแบบทิ้งไปครับ ดังนั้นมันก็คือหายหมดเลย โดยคำอธิบายผมขอ Copy มาจาก ลิงค์นี้เลยครับ

To free pagecache:

  • echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:

  • echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:

  • echo 3 > /proc/sys/vm/drop_caches

เป็นอันจบครับสำหรับเอาวิธีเอา Ram ที่หายไปคืนใน Centos


Originally published at dominixz.com.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.