เหตุใดค่า% MEM ที่อยู่ด้านบนจึงไม่เพิ่มขึ้นจนถึงจำนวนหน่วยความจำที่ใช้ทั้งหมด


18

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

Mem:    366544k total,   321396k used,    45148k free,      380k buffers
Swap:  1048572k total,   592388k used,   456184k free,     7756k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                  
12339 ruby      20   0  844m  74m 2440 S    0 20.8   0:24.84 ruby                                                                                     
12363 ruby      20   0  844m  73m 1576 S    0 20.6   0:00.26 ruby                                                                                     
21117 ruby      20   0  171m  33m 1792 S    0  9.3   2:03.98 ruby                                                                                     
11846 ruby      20   0  858m  21m 1820 S    0  6.0   0:09.15 ruby                                                                                     
21277 ruby      20   0  219m  11m 1648 S    0  3.2   2:00.98 ruby                                                                                     
  792 root      20   0  266m  10m 1024 S    0  3.0   1:40.06 ruby                                                                                     
  532 mysql     20   0  234m 4760 1040 S    0  1.3   0:41.58 mysqld                                                                                   
  793 root      20   0  250m 4616  984 S    0  1.3   1:20.55 ruby                                                                                     
  586 root      20   0  156m 4532  848 S    0  1.2   6:17.10 god                                                                                      
12315 ruby      20   0  175m 2412 1900 S    0  0.7   0:07.55 ruby                                                                                     
 3844 root      20   0 44036 2132 1028 S    0  0.6   1:08.22 ruby                                                                                     
10939 ruby      20   0  179m 1884 1724 S    0  0.5   0:08.33 ruby                                                                                     
 4660 ruby      20   0  229m 1592 1440 S    0  0.4   2:55.46 ruby                                                                                     
 3879 nobody    20   0 37428  964  520 S    0  0.3   0:01.99 nginx 

ในขณะที่คุณสามารถเห็นหน่วยความจำของฉันใช้ประมาณ 90% (ซึ่งเป็นปัญหาของฉัน) แต่เมื่อคุณเพิ่มค่า% MEM มันจะไปประมาณ 50-60% เท่านั้น สิ่งเดียวกัน RES ไม่ได้เพิ่มขึ้นถึง ~ 350mb ทำไม? ฉันเข้าใจความหมายของพวกเขาผิดหรือเปล่า?

ขอบคุณ


ฉันคิดว่าด้านบนปรับจำนวนแถวที่แสดงด้วยขนาดจอแสดงผลดังนั้นกระบวนการทั้งหมดอาจมองไม่เห็น
Samik

คำตอบ:


6

ฉันพยายามเข้าใจว่ากระบวนการใดที่กินความทรงจำมากที่สุด

ง่ายมากนั่นคือทับทิม !

เมื่อคุณเพิ่มค่า% MEM มันจะไปประมาณ 50-60% เท่านั้น

ที่จริงแล้วเพิ่มขึ้นถึงคอลัมน์ที่แสดงให้69.2%

  • ดังที่ Samik ได้ระบุไว้ว่าไม่ได้รวมกระบวนการทั้งหมดในระบบของคุณลองวางpasteเอาท์พุทของtop -b -n 1เพื่อรับเอาท์พุทแบบเต็มในไฟล์และแชร์กับเราเพื่อให้เราสามารถช่วยคุณได้ดีขึ้น

  • นอกจากนี้เคอร์เนลใช้หน่วยความจำจำนวนหนึ่งและ VPS บางประเภท (เช่น Xen, KVM) จะสำรองหน่วยความจำเพิ่มเติมบางส่วนเมื่อบู๊ตเพื่อการใช้งานภายใน Pastebin ผลลัพธ์ของdmesgเกินไป

เพื่อการวัดที่ดีขึ้นและใช้งานง่ายผมแนะนำให้คุณใช้htopติดตั้ง htopแทนส่วนบนด้วยตัวเลือก "ซ่อนเธรด userland" ที่เปิดใช้งาน:

ป้อนคำอธิบายรูปภาพที่นี่

ดูที่memtop:

ป้อนคำอธิบายรูปภาพที่นี่


นี่คือผลลัพธ์สูงสุดเต็มรูปแบบ: paste.ubuntu.com/1055673และ dmesg: paste.ubuntu.com/1055674การใช้ htop ให้ผลลัพธ์ที่แตกต่าง! ฉันเห็นกระบวนการ MEM 22.4% สามอันที่จริงแล้วกระบวนการจำนวนมากถูกทำซ้ำ (mysqld ด้วยหลายครั้ง) ในกรณีใด ๆ ผมชอบออกทำความสะอาดวิธี ... Memtop เย็นเกินไปฉันสามารถที่จะเข้าใจซึ่งปพลิเคชันทับทิมของฉันจะกินหน่วยความจำมากที่สุด)
เบน

0

topคำสั่งlinux แสดงramหน่วยความจำทั้งหมดที่ใช้ไม่เพียง แต่สำหรับคุณ แต่ยังรวมถึงระบบ linux cachesบางพื้นที่จากฮาร์ดดิสก์ของคุณเพื่อดักคอมพิวเตอร์ของคุณ ควรใช้การตรวจสอบ mem อื่น ๆ

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