system management
1751938 メンバー
4877 オンライン
108783 解決策
新規ポスト

システムのメモリについて

 
pepe25jp
時折のコントリビューター

システムのメモリについて

glanceでメモリを見たときに

Sys Mem : 1.67gb

と表示がありました。

Sys Memとは具体的にどんなことにメモリが使われているのでしょうか?
7件の返信7
nadachi
レギュラーアドバイザー

システムのメモリについて

Glanceの"Memory Report"画面を選んだとき、下のほうに表示される Sys Mem : xxxx ですね。

 この画面でHELPを押し、Help Menuから"Current Screen Metrics"を選び、Metricの中から、"Sys Mem"を選ぶと、

The amount of physical memory used by the system (kernel) during the interval.

(この計測期間中にカーネルによって使われた物理メモリの量)

System memory does not include the buffer cache.

(バッファキャッシュで使われるメモリを含まない)

とあります。

 カーネルが起動したときに割り当てたメモリもあるでしょうし、実行にしたがって動的に割り当てたメモリも含むでしょう。
pepe25jp
時折のコントリビューター

システムのメモリについて

ご回答ありがとうございまいた。

カーネルが使用するメモリなんですね。

では、このSysMemを故意に減らすことは難しいでしょうか?

システムコールを減らせばカーネルの使用も減ると思うんですが、システムコールって見えない部分ですよね?
hazelwood
信頼あるコントリビューター

システムのメモリについて

> では、このSysMemを故意に減らすことは難しいでしょうか?

難しいと思いますよ。

・使わないドライバ、サブシステムを組み込まない。

・カーネルパラメータで、nfile, nproc, ninodeなどのテーブルを小さくする。

といったことをすれば小さくなるとは思いますが、実用的なシステムではなくなってしまいますよね。

> システムコールを減らせばカーネルの使用も減ると思うんですが、

システムコールは、カーネルのメモリ使用量には直接的には影響しないと思います。(間接的に減ることはあると思いますが。)
nadachi
レギュラーアドバイザー

システムのメモリについて

> では、このSysMemを故意に減らすことは難しいでしょうか?

この点に関しては、hazelwoodさんの意見に賛成です。Glanceの"System Tables"画面を見れば、カーネルのtunableパラメータに応じて割り付けられたテーブルなどがどれくらい使われているかが分かりますから、それらパラメータを必要最小限に小さくすれば、

それらテーブルなどのサイズが減り、System Mem の

使用量も減ります。

 問題なのは"必要最小限" という点で、アプリケーションプログラムが動くときに必要とされる漁より少なくしてしまうのは意味がありませんよね。例えば、

"File Locks (nflocks)" が400に設定されていて、20%しか使われていない、と表示されているからといって、nflocksを80にしてしまうわけにはいかない。なぜなら、その時点で走っていないアプリケーションを実行すると、そのアプリケーションがファイルのロックをたくさん使うかも知れないからです。ですので、この方針で行くならば、必要なアプリケーションが走っている状態で、Glance の "System Tables"画面を見て、減らせそうなテーブルを小さくする、という方針が良いと思います。

>システムコールを減らせば ...

アプリケーションプログラムからのシステムコールを減らす、ということは、OSは仕事をしなくていい、ということになりますね。
法
頻繁なアドバイザー

システムのメモリについて

pepe25jpさん、こんにちは。

glanceで表示されるsys memはカーネルパラメータの「dbc_max_pct」と

「dbc_min_pct」で制御できた覚えがあります。

maxのデフォルトが50なので、最大搭載メモリの50%がsysに割り当てることが可能、

といった感じだったと。
hazelwood
信頼あるコントリビューター

システムのメモリについて

> glanceで表示されるsys memはカーネルパラメータの

>「dbc_max_pct」と「dbc_min_pct」で制御できた覚え

> があります。

勘違いだと思います。

dbc_max_pct, dbc_min_pctはバッファキャッシュのサイズの上限、下限を決めるパラメータなので、"Buf Cache"の量に影響を与えます。

しかし、"Sys Mem"はバッファキャッシュを含みませんので、これらのパラメータの値には直接には影響されません。

(ただし、バッファキャッシュを管理するバッファヘッダが"Sys Mem"に含まれるなら、バッファキャッシュが減る->バッファヘッダも少なくてすむ->"Sys Mem"が減る となるかもしれません。)
法
頻繁なアドバイザー

システムのメモリについて

こんにちは。

>hazelwoodさん

勘違いでしたか。

この場をお借りして感謝します。

ありがとうございました。