Как использовать бесплатный -m для использования памяти для всех пользователей

Я набрал свободную команду, чтобы получить использование памяти следующим образом:

free -m 

output:

Я хочу использовать эту команду для получения такая же информация, но для всех пользователей, например:

enter image description here

Я использовал эту команду .. потому что мне легко ... сохранить ее вывод в переменные в сценарии bash ...

1
задан 14 February 2014 в 21:11

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, вот выдержка из manpage 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.

Я подозреваю, что RSS - это использование Жилой памяти, также называемое RES в других утилит. Для получения дополнительной информации о выражении использования памяти см. Этот Q & amp; A на Superuser.com: smem

5
ответ дан 24 May 2018 в 11:47
  • 1
    USS ссылается на использованную память этим пользователем? – Akari 14 February 2014 в 21:38
  • 2
    @Akari См. Мой обновленный ответ; Надеюсь, теперь это ясно. Это не просто да / нет, потому что управление памятью немного сложнее. – gertvdijk 14 February 2014 в 21:52

Другие вопросы по тегам:

Похожие вопросы: