ショーの上のユーティリティ:
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でスワップを使用していません。これをどのように修正できますか?それは大きな問題ですか?私は問題なく作業していますが、それが悪いかどうかは誰にわかりますか?
2)vmcomとvmlimの意味は?
CPUはクアッドコアです。 RAID5の3HDD。 Debian Squeeze x64を使用しており、KVMおよびMySQLを使用しています。
答えてくれてありがとう
主な質問への回答はさらに下にありますが、最初にミラの提案に関する警告:
これに注意してください:
で:/ proc/sys/vm/overcommit_memory私はそこに入れてみます2。
その場合、物理メモリが利用可能であっても、vmlimより大きいvmcomがエラーを受け取るときにOSからメモリを要求するすべてのプロセスがエラーを受け取ります(私はたくさん持っていますエラーが発生し、compizなどの基本的なシステムアプリケーションで失敗します。そしてのために:
vmlim = SWAP_size + 0.5 * RAM_size。
ここで、0.5(50%)は/ proc/sys/vm/overcommit_ratioパラメータのデフォルト値であり、私のような多くのエラーを簡単に取得できます。
主な質問への回答:overcommit_memoryパラメータの変更をデフォルト値(私にとっては0(Ubuntu 12.04 LTS))に戻すことをお勧めしますが、他のOSの場合は1)。 素晴らしい記事 によると、プロセスで実際に使用されているメモリを計算できます。
MemoryUsed〜tot-(キャッシュ+バフ+フリー)〜23.6G-(6.7G + 0.067G + 0.136G)〜16.7G
したがって、実際にプロセスで使用されているのは16.7Gのみ(23.6GがインストールされたRAMから)、上部の出力の赤い線は無視されます。
atop
manページは、数字が実際に何を示しているかを説明するのに役立ちます。
メモリ
コミットされた仮想メモリが制限(SWPラインの「vmcom」と「vmlim」)を超えると、システムをオーバーコミットしたため、SWPラインが色分けされます。
[〜#〜] swp [〜#〜]
職業を入れ替え、情報をオーバーコミットします。
この行には、ディスク上のスワップ領域の総量( 'tot')と空きスワップ領域の量( 'free')が含まれています。
さらに、コミットされた仮想メモリスペース(「vmcom」)とコミットされたスペースの最大制限(「vmlim」、デフォルトではスワップサイズにメモリサイズの50%を加えたもの)が表示されます。コミットされたスペースは、プロセス用のプライベートメモリスペースのすべての割り当て用に予約された仮想スペースです。カーネルは、厳密なオーバーコミット処理が構成されている場合(vm.overcommit_memoryが2)、コミットされたスペースが制限を超えているかどうかを確認するだけです。
atop
が伝えていることは、システムがメモリをオーバーコミットしていることです。
オーバーコミットを防ぐには、/proc/sys/vm/overcommit_memory
設定できます2
。