* nixシステムの各プロセスで使用されるキャッシュを取得する方法

* nixシステムの各プロセスで使用されるキャッシュを取得する方法

プロセスごとのキャッシュ使用量を知りたいです。それを行う方法はありますか?私は現在Ubuntuを使用しています。

問題は、私のコンピュータがキャッシュ全体をいっぱいにし、RAMが必要なときにキャッシュを解放する代わりに交換を開始することです。これは理想的な状況ではありません。どのプロセスがこれらすべてを「要求」しているかを知ることは本当に役に立ちます。 htop.

ご覧のとおり、16GBのキャッシュがあります(によると、その一部はバフですhtop)。約45分後ですuptime。何もスワップされませんが、時には5〜7GBのデータだけがスワップされます(仮想マシンなどを起動するとき)。

ユーザー名@ホスト名:[~]$ free -h
              利用可能な合計無料共有バッファ/キャッシュ数
メモリ: 23Gi 6,4Gi 354Mi 4,6Gi 16Gi 11Gi
交換:23Gi 3,0Mi 23Gi

それにもかかわらず、この問題がなくても誰がキャッシュしているのか、どのくらいキャッシュしているのかを正確に知ることは良い情報です。

ベストアンサー1

プロセス固有のキャッシュ使用量は追跡されません。ページはキャッシュに存在し、システム内のどのプロセスでも使用できます。

大量のファイルをスキャンするプロセス(ウイルス対策スキャナやバックアップツールなど)には、次のような症状がよくあります。スワップが可能な場合は、大容量ファイルを読み続けると、スワップ用の別のページが削除されます。システムのパフォーマンスを向上させるには、次の点を考慮してください。

大規模スワップパーティション(例えば休止状態の場合、目標は取り付けられたメモリの5分の5ですが、これは厳しい制限ではありません。vm.swappinessしたがって、カーネルは、ページキャッシュページを削除するよりもスワップが高価であると考え、スワップ使用量を増やすよりもキャッシュ使用量を減らす傾向がある。

おすすめ記事