Freeコマンドを入力して、次のようにメモリ使用量を取得しました。
free -m
出力:
私はこのコマンドを使用して同じ情報を取得したいと思いますが、たとえばすべてのユーザーに対して:
私はこのコマンドを使用しました..その出力をbash scripの変数に保存するのが簡単だからです...
free
はすでにシステム全体のメモリ使用量に基づいています。
ユーザーごとに何かが必要な場合は、次のようなものを試すことができます。
ps aux | awk 'NR>2{arr[$1]+=$6}END{for(i in arr) print i,arr[i]}'
awk
の機能の簡単な説明として:
ps aux
(常駐セットサイズ)から6番目の列を追加し、それらを合計します。1つのオプションは、 smem
free
はこの機能を提供しないためです。
$ Sudo smem -u -k -t
User Count Swap USS PSS RSS
daemon 1 0 196.0K 197.0K 360.0K
rtkit 1 0 304.0K 317.0K 1.4M
[...]
root 44 0 164.3M 197.7M 284.4M
gert 88 0 1.7G 1.8G 3.2G
---------------------------------------------------
159 0 1.9G 2.1G 3.6G
USSとPSSの意味についての説明は、smemのマンページからの抜粋です。
[...] Unshared memory is reported as the USS (Unique Set
Size). Shared memory is divided evenly among the processes shar‐
ing that memory. The unshared memory (USS) plus a process's pro‐
portion of shared memory is reported as the PSS (Proportional Set
Size). The USS and PSS only include physical memory usage. They
do not include memory that has been swapped out to disk.
IsuspectRSSは、他のユーティリティでRESとも呼ばれる住宅のメモリ使用量です。メモリ使用量の表現の詳細については、Superuser.comの次のQ&Aを参照してください。 メモリ管理について知っておくべきこと