カーネルはどのくらいのRAMを使用しますか?

カーネルはどのくらいのRAMを使用しますか?

この質問の動機Mac OS Xカーネルが次のものを使用していることがわかったとき750MB記憶容量

私は20年間Linuxを使用してきましたが、カーネルRAMの使用量がXに比べて低いことを常に「知っていました」(これは本当ですか?本当だったことはありますか?)。

だから私はいくつかのグーグルの最後に試してみましたが、slabtop結果は次のようになります。

Active / Total Size (% used)       : 68112.73K / 72009.73K (94.6%)

これは私のカーネルが現在〜72MBのRAMを使用していることを意味しますか?

top報告されたXorgRSSが17Mの場合、カーネルは現在その逆ではなくXを歪ませます。)

ラップトップの「一般的な」カーネルRAM使用量(範囲)は何ですか?

MacOSがLinuxよりはるかに多くのRAMを使用するのはなぜですか?

PS。最後の質問はここに回答されていませんので、関連質問をご覧ください。

ベストアンサー1

コアという言葉は少し間違った名前です。 Linuxカーネルは複数のプロセス/スレッド+モジュール()で構成されているので、完全なlsmod理解を得るためには、個々のコンポーネントだけでなくボール全体を見る必要があります。

しかし、私のディスプレイslabtop

 Active / Total Size (% used)       : 173428.30K / 204497.61K (84.8%)

マニュアルページにはslabtop次のように記載されています。

タブレット統計ヘッダーは物理メモリーを測定するのではなく、使用中のタブレットの数を追跡します。 / proc / meminfoファイルの「Slab」フィールドは、使用されているスラブ物理メモリに関する情報を追跡します。

キャッシュの削除

次に、私のキャッシュを削除@ダクロバート 提案あなたの質問に対するコメントで、これは私に次のことをしました。

$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$

 Active / Total Size (% used)       : 61858.78K / 90524.77K (68.3%)

Send 3は次のことを行います。ページキャッシュ、ディレクトリエントリ、およびinodeを解放します。私はU&L Q&Aでこれについてさらに議論します。メモリキャッシュとバッファをダンプする方法やツールはありますか?だから私の110MBは、ページキャッシュ、ディレクトリエントリ、およびinodeに関する情報を保持するためにのみ使用されます。

追加情報

  • 興味があれば、slabtopこの詳細なブログ記事を見つけました。タイトルは次のとおりです。今日のLinuxコマンド:slabtop
  • スラブキャッシングについては、ウィキペディアで次のタイトルでさらに詳しく説明します。スラブ分布

それでは、私のカーネルはどのくらいのRAMを使用しますか?

写真は私には少しぼやけていますが、ここに私が「考える」ことがあります。

投手版

この手法を使用して、スラブの使用に関するスナップショットを取得できます。本質的には、ここからこの情報を抽出できます/proc/meminfo

$ grep Slab /proc/meminfo
Slab:             100728 kB

基準寸法

また、これらの値を抽出してカーネルモジュールのサイズ値(ディスクサイズかRAMサイズかわからない)を取得することもできます/proc/modules

$ awk '{print $1 " " $2 }' /proc/modules | head -5
cpufreq_powersave 1154
tcp_lp 2111
aesni_intel 12131
cryptd 7111
aes_x86_64 7758

ボード情報

SLABに関する多くの詳細は、次のproc構造からアクセスできます/proc/slabinfo

$ less /proc/slabinfo | head -5
slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
nf_conntrack_ffff8801f2b30000      0      0    320   25    2 : tunables    0    0    0 : slabdata      0      0      0
fuse_request         100    125    632   25    4 : tunables    0    0    0 : slabdata      5      5      0
fuse_inode            21     21    768   21    4 : tunables    0    0    0 : slabdata      1      1      0

情報

システムが起動すると、Linuxカーネルがロードされた後にメモリ使用量を報告する行があります。

$ dmesg |grep Memory:
[    0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)

引用する

おすすめ記事