機械がゆっくり動作する理由を確認するには?

機械がゆっくり動作する理由を確認するには?

私はグラフィカルSSHクライアント(securessh)を使用してLinuxサーバー(仮想マシンとしてインストールされている)にログインします。サーバーはtomcat5.5サーバーを実行します。関係インストールされました。

コマンドを入力したり、小さなファイル(約5〜6 MB)を削除/コピーしたりすると、シェルが応答するのに長い時間がかかります(10秒から約1分)。topメモリ/CPU時間が多いプロセスがあるかどうかを確認するために実行しようとしました。

top - 13:34:41 up 86 days, 16:04,  1 user,  load average: 2.13, 0.99, 1.94
Tasks:  63 total,   1 running,  62 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.0%us,  1.5%sy,  0.0%ni, 96.2%id,  0.2%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   3896416k total,  3097824k used,   798592k free,   167180k buffers
Swap:   915664k total,       84k used,   915580k free,  2409236k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                      
20436 tomcat55  20   0  359m 217m  13m S   18  5.7   2713:04 jsvc                                 

tomcat55 ユーザーだけが多くのリソースを使用します。上記の出力によると、このユーザーはメモリの5.7%とCPUの5.7%しか消費していないようです。私はtop出力を間違って読みましたか? CPUとメモリ使用率が低すぎると、システムのパフォーマンスが低下するのはなぜですか?


編集する:今実行して次のようにしようとしています。

ATOP - repository         2011/09/20  16:08:48               10 seconds elapsed
PRC | sys   0.17s | user   0.03s | #proc     64 | #zombie    0 | #exit      4 |
CPU | sys      2% | user      1% | irq       0% | idle    198% | wait      0% |
cpu | sys      1% | user      1% | irq       0% | idle     98% | cpu001 w  0% |
cpu | sys      0% | user      0% | irq       0% | idle     99% | cpu000 w  0% |
CPL | avg1   0.05 | avg5    0.92 | avg15   1.29 | csw      976 | intr      61 |
MEM | tot    3.7G | free  656.7M | cache   2.4G | buff  170.9M | slab  241.3M |
SWP | tot  894.2M | free  894.1M |              | vmcom 781.9M | vmlim   2.7G |
DSK |         sda | busy      0% | read       0 | write      9 | avio    0 ms |
NET | transport   | tcpi      18 | tcpo      26 | udpi       0 | udpo       0 |
NET | network     | ipi       22 | ipo       26 | ipfrw      0 | deliv     22 |
NET | eth1     0% | pcki      34 | pcko      26 | si    2 Kbps | so   11 Kbps |

  PID  SYSCPU  USRCPU  VGROW  RGROW  RDDSK  WRDSK  ST EXC S  CPU CMD     1/1   
 4687   0.06s   0.02s     0K     0K      -      -  NE   0 E   1% <lsb_release>
 4689   0.04s   0.01s     0K     0K      -      -  NE   0 E   1% <apt-cache>   
 4684   0.04s   0.00s   132K   132K     0K     0K  --   - R   0% atop
 4673   0.02s   0.00s     0K     0K     0K     0K  --   - S   0% sshd         
 4152   0.01s   0.00s     0K     0K     0K     0K  --   - S   0% vmware-guestd
 2302   0.00s   0.00s     0K     0K     0K     4K  --   - S   0% kjournald
 4688   0.00s   0.00s     0K     0K      -      -  NE   0 E   0% <sh> 
 4686   0.00s   0.00s     0K     0K      -      -  NE   0 E   0% <sh>    

私が正しく理解した場合、「ゾンビ」はありませんが、まだCPU時間の大部分を占めます(199%から200%にジャンプ)。これが予想される動作ですか?

答え1

またiostatまた、考慮する必要がありますhttp://www.atoptool.nl/) CPU 以外のボトルネックを識別します。

答え2

問題は遅いディスクI / Oかもしれません。以下を実行してみてください。

$ iostat -d -x 5 3

出力の説明があります。ここ

答え3

たとえば、ファイルシステムコマンドはcpCPU時間やメモリを大量に消費しないでください。その内容がtop表示されます。このプログラムを試してみてくださいiotop(インストールが必要な場合があります)。

答え4

今はソースが見つかりません。申し訳ありませんが、仮想ドライブが保存されている場所に関連している可能性があることを読んだことがあります。 NFS経由で保存してアクセスすると、オーバーヘッドとジッタがたくさん発生します。

VirtualboxにはIOキャッシュを調整するオプションがあります。これらのオプションを確認することをお勧めします。これは、cpなどのデータをコピーする単純なプログラムに影響します。

関連情報