質問

WHMにアクセスしてサーバーのメモリ使用量を確認すると、メモリの16%のみが使用されていると表示されます。ただし、SSHを使用してサーバーに接続し、コマンド「Free -M」を実行すると、80%が使用されていることがわかります。何故ですか? mysql、apacheなどのように実行されているすべてのアプリケーションの正確なメモリ使用量を知りたいです。

ありがとう

役に立ちましたか?

解決

彼らが言うように、「それは複雑です」。

Linuxは、ディスクバッファリングとキャッシュに未使用のメモリを使用します。それは物事をスピードアップします。しかし、あなたはを見る必要があるかもしれません - /+バッファ/キャッシュ の線 自由.

「PS」 特定のプロセスについて、またはすべてのプロセスについて、 %CPU, %mem, 累積CPU時間, RSS (居住者セットサイズ、プロセスが使用している非スワップされた物理メモリ)、 サイズ (非常に プロセスがすべての書き込み可能なページを汚し、その後交換する場合に必要なスワップスペースのおおよその量)、 vsize (プロセス全体の仮想メモリ使用(VM_LIB + VM_EXE + VM_DATA + VM_STACK))など。

特定のプロセスについては、cat/proc/$ pid/status(人間が読みやすい)ができます。 vmsize, vmlck, VMRSS, vmdata, vmstk, vmexe, vmlib, 、 と vmpte 価値、他の人と一緒に...

しかし、それはスターターのためだけです...プロセスはメモリを割り当てることができますが、それを使用しません。 (メモリは割り当てることができますが、メモリページは実際に使用されるまで作成/発行されません。

プロセスはハードウェアスペースにマッピングでき、システムRAMから実際には発生していない大量のメモリを使用して表示されます。 (Xサーバーは時々これを行うことが知られています。それはカーネルドライバーに関係するいくつかの不安定なものです...)

実行可能ファイルがあります。これは通常、メモリマップされたファイルです。つまり、交換された部品はRAMを占有していることを意味しますが、スワップアウトすると、SwapFileスペースを占めることはありません。

プロセスは、他のメモリマップファイルを持つことができます...

共有メモリライブラリがあり、同じRAMページが複数のプログラムで同時に使用されています。

それで、私たちは、記憶が行く限り、何が正確に数えられ、何がないのか尋ねなければなりませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top