キャッシュに加えて、Linuxカーネルはどのような用途にも多くのメモリを使用しますか?

キャッシュに加えて、Linuxカーネルはどのような用途にも多くのメモリを使用しますか?

コンピュータが遅すぎると思います。によると、freeRAMは約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

おすすめ記事