На прикрепленном вами изображении есть процессы / программы, отсортированные по загрузке ЦП, а не по использованию памяти.
Похоже, что программа python, которую вы запускаете, использует ТОЛЬКО 0,4% памяти (и 100% ЦП). Вероятно, другой процесс / программа использует память на вашем сервере.
Запустите команду, которая сгенерирует список программ, отсортированных по использованию памяти:
top -o %MEM -b -n 1 | head -20
и посмотрите последний столбец с именем процесса / программы.
Он должен дать вам ответ на вопрос: Что использует память на вашем компьютере? .
инструмент collectl
может также играть роль утилит, которые разработаны только для определенной цели, например top
, ps
, iotop
и многие другие.
install:
sudo apt-get install collectl
Например, следующая команда collectl -sc
может использоваться для отслеживания сводной информации об использовании процессора.
Следующая команда collectl -sd
поможет вам контролировать использование диска.
Вы также можете использовать collectl -sD
для сбора данных по отдельным дискам, но вы должны знать, что информация об общем количестве дисков не будет сообщаться.
Очень легко заставить collectl работать как верхнюю утилиту, просто запустите следующую команду в своем терминале collectl --top
, и вы увидите аналогичный вывод, который выдает верхний инструмент при его запуске. в вашей системе Linux.
, чтобы использовать утилиту collectl в качестве инструмента ps, выполните следующую команду в своем терминале:
collectl -c1 -sZ -i: 1
Вы получите информацию о процессах в вашей системе так же, как и вы. когда вы запускаете команду ps
в своем терминале.
вы можете объединить t
для tcp и c
для cpu пример collectl -stc
сводный список подсистем, поддерживаемых инструмент:
b – buddy info (memory fragmentation)
c – CPU
d – Disk
f – NFS V3 Data
i – Inode and File System
j – Interrupts
l – Lustre
m – Memory
n – Networks
s – Sockets
t – TCP
x – Interconnect
y – Slabs (system object caches)
collectl
, визуализированный через графит или графит:
Для проверки использования ввода-вывода я обычно использую iotop
.
Он не установлен по умолчанию в дистрибутиве, но вы можете легко получить его с помощью:
sudo apt-get install iotop
Затем запустите его с привилегиями root:
sudo iotop --only
Параметр - only
покажет только процессы, которые в настоящее время обращаются к вводу-выводу.
Что-то вроде htop для процессора.
atop
- монитор системы и процессов от AT Computing
# apt-get install -y atop
# atop
Он имеет схожий интерфейс с htop
.
Теперь нажмите shift+d - для активности диска
Затем нажмите c - для полного имени команды...
PID DSK COMMAND-LINE
28497 37% /usr/sbin/apache2 -k start
28496 36% /usr/sbin/apache2 -k start
30528 11% mplayer
..........
.....
Вы можете попробовать nmon
sudo apt-get install nmon
Попробуйте:
nmon
Вывод Как показано ниже:
Нажмите d = Disk Press c = CPU Press r = RAM Нажмите q, чтобы выйти
Вы также можете попробовать с :
iostat
Вывод, как показано ниже:
Linux 3.16.0-30-generic (client01) 03/01/2016 _i686_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
39.73 24.58 2.96 0.26 0.00 32.48
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.32 57.31 40.05 119879872 83767716
sdb 1.45 15.02 22.60 31424408 47273012