ATOP แสดงบรรทัดสีแดง vmcom และ vmlim มันหมายความว่าอะไร?


15

ยูทิลิตี้บนยอดแสดง:

ATOP - MyServer         2013/01/07  00:03:57               10 seconds elapsed
PRC | sys   2.18s | user   8.33s | #proc    141 | #zombie    0 | #exit      0 |
CPU | sys     21% | user    139% | irq       0% | idle    228% | wait     11% |
cpu | sys      5% | user     40% | irq       0% | idle     51% | cpu002 w  3% |
cpu | sys      5% | user     35% | irq       0% | idle     56% | cpu001 w  3% |
cpu | sys      7% | user     30% | irq       0% | idle     61% | cpu000 w  2% |
cpu | sys      4% | user     34% | irq       0% | idle     61% | cpu003 w  1% |
CPL | avg1   1.00 | avg5    1.12 | avg15   1.25 | csw   389208 | intr  223367 |
MEM | tot   23.6G | free  136.3M | cache   6.7G | buff   66.5M | slab  205.1M |
SWP | tot    0.0M | free    0.0M |              | vmcom  21.8G | vmlim  11.8G |
DSK |         sdc | busy     12% | read      70 | write    109 | avio    6 ms |
DSK |         sde | busy      4% | read      37 | write    131 | avio    2 ms |
DSK |         sdd | busy      3% | read      38 | write    144 | avio    1 ms |
NET | transport   | tcpi     160 | tcpo     171 | udpi       0 | udpo       0 |
NET | network     | ipi      188 | ipo      172 | ipfrw      0 | deliv    160 |
NET | vnet1    0% | pcki     510 | pcko     442 | si   60 Kbps | so   26 Kbps |
NET | eth0     0% | pcki     449 | pcko     527 | si   27 Kbps | so   65 Kbps |
NET | vnet0    0% | pcki       0 | pcko      44 | si    0 Kbps | so    3 Kbps |
NET | vnet7    0% | pcki       1 | pcko      44 | si    0 Kbps | so    3 Kbps |
NET | vnet2    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet3    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet6    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet5    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | vnet4    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | vnet8    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | bond0  ---- | pcki     449 | pcko     527 | si   27 Kbps | so   65 Kbps |
NET | br0    ---- | pcki     157 | pcko     126 | si   12 Kbps | so   17 Kbps |
NET | lo     ---- | pcki      46 | pcko      46 | si    3 Kbps | so    3 Kbps |

คำถามของฉันมีดังต่อไปนี้: 1) ทั้งหมดเป็นสีขาวบรรทัดเดียวที่มี SWP คือสีแดง ฉันมี 24GB RAM และฉันไม่ได้ใช้ swap ฉันจะแก้ไขสิ่งนี้ได้อย่างไร เป็นปัญหาใหญ่หรือไม่ ฉันทำงานโดยไม่มีปัญหา แต่ใครจะรู้ว่ามันแย่หรือไม่

2) vmcom และ vmlim หมายถึงอะไร?

CPU เป็น Quad core 3HDDs ใน RAID5 ฉันมี Debian Squeeze x64 และใช้ KVM และ MySQL

ขอบคุณสำหรับคำตอบ

คำตอบ:


6

คำตอบสำหรับคำถามหลักอยู่ด้านล่าง แต่ก่อนอื่นให้เตือนเกี่ยวกับคำแนะนำของ Mirra:

ระวังด้วย:

ใน: / proc / sys / vm / overcommit_memory ฉันลองใส่ที่นั่น 2

ในกรณีนั้นแม้ว่าหน่วยความจำกายภาพจะพร้อมใช้งานกระบวนการทั้งหมดที่ร้องขอหน่วยความจำจากระบบปฏิบัติการเมื่อ vmcom มากกว่า vmlim จะได้รับข้อผิดพลาด (ฉันมีข้อผิดพลาดจำนวนมากและล้มเหลวด้วยแอปพลิเคชันระบบพื้นฐานเช่น compiz) และเนื่องจาก:

vmlim = SWAP_size + 0.5 * RAM_size

โดยที่ 0.5 (50%) เป็นค่าเริ่มต้นสำหรับพารามิเตอร์ / proc / sys / vm / overcommit_ratio คุณจะได้รับข้อผิดพลาดมากมายเช่นฉัน


คำตอบสำหรับคำถามหลัก: เป็นการดีกว่าที่จะยกเลิกการเปลี่ยนแปลงในพารามิเตอร์ overcommit_memory กลับไปเป็นค่าเริ่มต้น (0 สำหรับฉัน (Ubuntu 12.04 LTS) แต่สามารถเป็น 1 สำหรับระบบปฏิบัติการอื่น ๆ ได้) จากบทความที่ดีเราสามารถคำนวณหน่วยความจำที่ใช้จริงโดยกระบวนการ:

MemoryUsed ~ tot - (แคช + buff + ฟรี) ~ 23.6G - (6.7G + 0.067G + 0.136G) ~ 16.7G

ดังนั้นจึงมีเพียง 16.7G เท่านั้นที่ใช้โดยกระบวนการ (จาก 23.6G RAM ที่ติดตั้ง) และบรรทัดสีแดงในเอาต์พุต atop อาจถูกละเว้น


ดังนั้นสิ่งนี้จึงถือได้ว่าเป็นข้อผิดพลาดบนยอดถ้าคำเตือนไม่สำคัญ
joeytwiddle

1

atopหน้าคนช่วยอธิบายว่าตัวเลขที่บ่งบอกถึงความจริง

หน่วยความจำ

หากหน่วยความจำเสมือนที่คอมมิชชันเกินขีด จำกัด ('vmcom' และ 'vmlim' ใน SWP-line), SWP-line นั้นจะมีสีเนื่องจากการทำ overcommitting ระบบ

โทษที

สลับอาชีพและข้อมูล overcommit

บรรทัดนี้มีจำนวนพื้นที่สว็อปทั้งหมดในดิสก์ ('ทีโอที') และจำนวนพื้นที่สว็อปฟรี ('ฟรี')

นอกจากนี้พื้นที่หน่วยความจำเสมือนที่ได้รับมอบหมาย ('vmcom') และขีด จำกัด สูงสุดของพื้นที่ที่กำหนด ('vmlim' ซึ่งโดยขนาดการแลกเปลี่ยนเริ่มต้นบวก 50% ของขนาดหน่วยความจำ) จะปรากฏขึ้น พื้นที่ที่กำหนดเป็นพื้นที่เสมือนที่สงวนไว้สำหรับการจัดสรรพื้นที่หน่วยความจำส่วนตัวทั้งหมดสำหรับกระบวนการ เคอร์เนลตรวจสอบว่าพื้นที่ที่กำหนดเกินกว่าขีด จำกัด หรือไม่หากมีการกำหนดค่าการจัดการ overcommit ที่เข้มงวด (vm.overcommit_memory คือ 2)

https://linux.die.net/man/1/atop


1
atopและคู่มือเป็นทรัพยากรที่ยอดเยี่ยมในการทำความเข้าใจการทำงานภายในของ Linux :)
Nemo

1

สิ่งที่atopบอกคุณคือระบบของคุณใช้หน่วยความจำเกินปกติตามที่อธิบายไว้โดย:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/vm/overcommit-accounting;hb=HEAD

เพื่อป้องกันการทับซ้อนมากเกินไปใน /proc/sys/vm/overcommit_memory2มากเกินไปคุณสามารถตั้งค่าได้

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