特定のユーザーが使用しているメモリの量


8

マルチユーザーLinuxマシンで使用しているメモリ容量を調べることはできますか?大量のメモリを使用していて、他の人に迷惑をかけているかどうかを知りたいので、必要に応じてプロセスをシャットダウンできます。

それをsa -m行うかもしれない別の質問で見ましたが、どうやら私はこのサーバーでそのコマンドにアクセスできません。

編集: sudoアクセス権がないため、インストールできません。サーバーはCentOSです。


CentOS5、6、7?
jsbillings 2016年

@jsbillings "CentOS release 5.11(Final)"
Hatshepsut

回答:


13

ps一緒にawk使用して、ユーザーによる物理メモリの使用状況を確認できます。

ps -U root --no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) "MB"}'

ここでrootは、出力に使用されるメモリを出力します。


1
:だから、私の場合、私たちは@Lucianoによって提案された環境変数を使用することができます ps -U $USER --no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) "MB"}'
ハトシェプスト

1
はい、正確に!rootシステムにいるユーザーに変更します。
coffeMug ​​2016年

私はマルチプロセッシングコードを実行していて、このコマンドは2TBのRAMを使用していると言っています=))私のコンピューターには200GBのRAMしかない。
32r34wgf3e

1

あなたの場合、smemがより良いツールだと思います。

smemをインストールして試す

smem -uk

debianを使用している場合は、次を使用してインストールできます。

apt-get install smem 

サーバーに何もインストールできない場合は、次のことを試してください。

 ps haux | awk -v user=$USER '$1 ~ user { sum += $4} END { print user, sum; }'

$ USERは環境変数なので、設定する必要はありません。


結果の単位はギガバイトですか?現在のデスクトップでは、このコマンドを実行すると76が返され、GBと解釈するのは困難です(RAMがそれほど多くないため)。
ハトシェプスト

1
あなたがps hauxについて話しているなら、それはパーセンテージで使用を返します。
Luciano Andress Martini

サーバーのsmemにアクセスできませんが、ローカルホストでアクセスできます User Count Swap USS PSS RSS user 127 716.0M 11.1G 11.1G 11.9G
Hatshepsut

他のコマンドは使用率をパーセンテージで返します。
Luciano Andress Martini
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.