コンピュータが遅すぎると思います。によると、free
RAMは約200Mほど残り、1GB以上を交換する必要があります。キャッシュにメモリを使用するのが良いことだとは分かりますが、実際にはRAMが不足しているようです。
root@desktop:/proc free -h
total used free shared buff/cache available
Mem: 3.9G 3.4G 132M 44M 378M 213M
Swap: 8.0G 1.2G 6.7G
smem -tk
レポートによると、アプリケーションは最大2GiB(RSS列)を使用します。smem -wk
使用されているすべてのメモリを考慮してください。明らかに、カーネルはキャッシュではなく1.8GiBを使用します。
root@desktop:/proc smem -wk
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 1.9G 74.3M 1.8G
userspace memory 1.8G 250.9M 1.6G
free memory 173.9M 173.9M 0
この動作は予想されますか?もしそうなら、カーネルはどのような作業にそんなに多くのメモリを必要としますか?
答え1
次のことを試すこともできます。
使用男の名前経時的なコンテキストスイッチとirq使用量を報告します。 Sarは素晴らしいが聞いたことのないシステム監視ツールです。一日中実行し、さまざまなレポートを使用して異常を発見してください。
スピード:
sysstat パッケージをインストールします。次のようにcronジョブを設定します(/etc/cron.d/
これらのファイルがあることを確認してください)。
* * * * * root /usr/lib64/sa/sa1 -S XALL 10 6
これにより、多くのデータが生成されます。- 一日約300MB。システム統計のスナップショットを撮ります。6秒ごと。 (「10 6」を「2 30」に変更すると、頻度を毎分2回に減らすことができます)
キャプチャ頻度を変更する場合は、その日付のファイルを削除する必要があります/var/log/sa/sa$(date +%d)
。そうしないと、レポートが破損する可能性があります。
いいですね。データをキャプチャしたら、次のことを試してください(ヒント:常にパイプを通過してくださいless
)。
sar -q
負荷平均と実行キューのサイズを取得します。この時間が低い場合は、IOレイテンシを見てください。
sar -P ALL
%iowaitでジャンプが見えない場合、または%idleでディップが見えない場合は、コンテキストスイッチを確認してください。
saw -w
ほとんどのアイドルシステムでは、毎秒500のコンテキスト切り替えが正常です。
-s <hh:mm:ss>
アクティブファイルを指定し、開始時刻と終了時刻(およびそれぞれ-e <hh:mm:sss>
)とオプションの間隔-i <secs>
(cronジョブで設定したキャプチャ解像度よりも大きくする必要があります)を指定してsarレポートを制限できます。
例:
sar -f /var/log/sa/sa$(date +%d -d yesterday) -s 09:15:00 -e 12:15:00 -i 600
CPUサマリー情報は、昨日の午前9時15分から12時15分までの10分間隔で提供されます。
より多くのものがあります...はるかに多くのものがあります。この情報を入手できますman sar
。
答え2
free -h
出力コマンドの編集で行が欠落している理由はわかりません-/+ buffers/cache
。重要です。とにかく私たちは続けることができます。
「Free」列(Mem:行)> 0の場合、実際にRAMが不足するわけではありません。絶対使用されないメモリ。 Linuxは、入手可能なすべてのRAMをキャッシュとして使用することが知られています(より良いパフォーマンスを期待しながら)。
スワップ部分は完全な真実を言わない。一度だけ実行され、しばらく使用されていないため、多くのコード+データをディスクにスワップするのが一般的です。 Linuxのもう一つの部分は、RAMのパフォーマンスに対する欲を示しています。つまり、重要ではない可能性があるアイテムをすばやく削除します(パフォーマンスの観点からも同様です)。調整可能ですが(sysctl vm.swappiness)、ほとんどのディストリビューションはデフォルトで「スワップなしでスワップ」します。
使用可能な RAM の不足のために速度が遅いという仮定を確認する重要な要因は、現在ディスクへのスワップインまたはアウトが発生しているかどうかです。ほとんどの場合、遅い現象をコンピュータで狂ったように点滅しているディスクに関連付けるのは簡単です。それ以外の場合は、実行してtop
時間の経過に伴う交換データの変化を確認してください。より簡単なのは、vmstat 1
1秒あたりの交換IOデータを直接印刷することです(swap si / so)。