私のLinuxシステムの応答速度は非常に遅いです。コマンドの結果が出るまで待つ必要があります。
彼の行動に問題があるかどうかを調べるにはどうすればよいですか?
答え1
Linuxでパフォーマンスの問題を解決するのは簡単ではなく、すべての可能性に対処するわけではありません。しかし、ほとんどの問題は通常3つのカテゴリに分類されます。高いCPU使用率、高いメモリ使用量または入力/出力の使い方。注:これらはすべて互いに関連しています。
最初:top -b -n 1 | head -15
すると、次のような結果が出力されます。
top - 15:32:09 up 19 days, 2:32, 2 users, load average: 0.61, 0.46, 0.42
Tasks: 208 total, 1 running, 207 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9%us, 3.6%sy, 0.0%ni, 95.2%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16430432k total, 15188864k used, 1241568k free, 304624k buffers
Swap: 2097148k total, 112k used, 2097036k free, 7342636k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16106 user 20 0 4070m 2.1g 2.1g S 30 13.5 4678:57 VirtualBox
26070 user 20 0 6113m 749m 697m S 6 4.7 628:55.93 VirtualBox
14863 user 9 -11 272m 3192 1804 S 2 0.0 5:57.19 pulseaudio
1 root 20 0 24724 2548 1276 S 0 0.0 0:05.32 init
2 root 20 0 0 0 0 S 0 0.0 0:00.15 kthreadd
3 root 20 0 0 0 0 S 0 0.0 0:33.45 ksoftirqd/0
6 root RT 0 0 0 0 S 0 0.0 0:03.74 migration/0
7 root RT 0 0 0 0 S 0 0.0 0:02.51 watchdog/0
まず見てください負荷平均。確認するこここれが何を意味するのかを理解してください(この概念を理解することは非常に重要です)。
重要:以下では、シングルコア(1 CPU、デュアルコアなし)があるとします。
5分後に平均負荷が1未満の場合、CPU負荷は正常です。この時点で、私はそれが何であるかわからない。正常ではないかのようにトラブルシューティングを続けます。
5分後に負荷平均が1より大きい場合、CPU負荷は高いです。 CPU負荷が高い理由を理解するには、topが提供する出力で次の項目を確認してください。
上記の出力からプロセスのリストを見ることができます。列を読む%CPU100%を使用するプロセスが表示されることを確認してください。 CPU を 100% 使用するという点は問題になるかもしれませんが、テストとしてはブロックするのが最善です。
上部でプロセスを停止するには、「k」を押してプロセスのPID値を入力します。
重要:プロセス名を書き留めてください。それらを殺す前に、彼らが何をしているのかを理解しようとします(Googleで検索)。一般ユーザーとして所有しているプロセスのみを停止できます(USER列の下にある確認)。それ以外の場合はルートである必要がありますが、疑わしい場合は、どのプロセスを終了するか注意してください。また、見ることができます%私たちそして%sy価値、私たちユーザーに代わって西システムのため。デフォルトでは、これはそれぞれユーザースペースとカーネルスペースのCPU使用量を表します。
システムが高速になると、シャットダウンしたプロセスが問題を引き起こす可能性があります。そうでない場合は続けます
読み値%と。高い? (50%以上)高いと、ディスクの入出力(I / O)が高く、CPUが待機していることを意味します。iostat
どのドライブが遅いかを確認するには、このコマンドを使用します。
メモリ使用量も確認できます。
タイプ自由-mコマンドラインから。次の内容が表示されます。
total used free shared buffers cached
Mem: 16045 14835 1209 0 298 7172
-/+ buffers/cache: 7365 8679
Swap: 2047 0 2047
使用しているバッファ/キャッシュ値を確認してください。メモリが多すぎる場合、この値は全体に近づく必要があります。
また、スワップで使用されている値を確認してください(スワップパーティションがある場合)。この値が高いと(全体(スワップ用)の下に表示される最大値に近いという意味)、システムが多くのスワッピングを行っているという意味です。つまり、ディスクにページングしていることを意味します(RAMよりはるかに遅い)。
繰り返しますが、これは問題が解決しないかもしれませんが、良いスタートです。
答え2
チェックイン統計:
#!/bin/sh
while [ 1 ]
do
/usr/bin/iostat -x -m -t 10 6 >> /var/log/iostat.`date +%Y%m%d`.log 2>&1
sleep 10
done