Linux не похож на Windows, у вас часто не будет графического интерфейса, особенно в серверной среде.
Администратору Linux очень важно знать, как получить текущие доступные и используемые ресурсы, такие как память, ЦП, диск и т. д. Если приложение занимает слишком много ресурсов в вашей системе, не позволяя вашей системе быть оптимальной, вам нужно найти и исправить это.
Если вы хотите найти десятку процессов, потребляющих больше всего памяти, вам нужно прочитать эту статью:Как найти процессы, потребляющие больше всего памяти в Linux.
В Linux команды могут делать что угодно, поэтому используйте соответствующие команды. В этом руководстве мы покажем вам 8 полезных команд для просмотра использования памяти в системе Linux, включая ОЗУ и раздел подкачки.
Создание раздела подкачки очень важно в системе Linux, если вы хотите узнать, как его создать, вы можете прочитать эту статью:Создайте раздел подкачки в системе Linux.
Следующие команды могут помочь вам просмотреть использование памяти Linux различными способами.
-
freeЗаказ -
/proc/meminfoдокумент -
vmstatЗаказ -
ps_memЗаказ -
smemЗаказ -
topЗаказ -
htopЗаказ -
glancesЗаказ
1) Как использовать бесплатную команду для просмотра использования памяти Linux
бесплатная команда— основная команда, широко используемая администраторами Linux. Но он дает больше информации, чем/proc/meminfoМеньше файлов.
freeКоманда отображает использованный и неиспользованный объем физической памяти и памяти подкачки соответственно, а также буферы и кэши, используемые ядром.
Эта информация из/proc/meminfoполученный из файла.
# free -m
total used free shared buff/cache available
Mem: 15867 9199 1702 3315 4965 3039
Swap: 17454 666 16788
-
total: общий объем памяти -
used: объем памяти, используемый текущим процессом (used=total–free–buff/cache) -
free: объем неиспользуемой памяти (free=total–used–buff/cache) -
shared: объем памяти, совместно используемой двумя или более процессами. -
buffers: объем памяти, зарезервированный в памяти для ядра, чтобы регистрировать запросы очереди процессов. -
cache: размер буфера страницы для хранения недавно использованных файлов в оперативной памяти. -
buff/cache: общий объем памяти, используемый буферами и кэшами. -
available: объем свободной памяти (без подкачки), которую можно использовать для запуска новых приложений.
2) Как использовать файл /proc/meminfo для проверки использования памяти Linux
/proc/meminfoФайл — это виртуальный файл, который содержит информацию в реальном времени о различном использовании памяти. Он показывает, что единицей измерения состояния памяти является килобайт, и большинство свойств трудно понять. Однако он также содержит полезную информацию об использовании памяти.
# cat /proc/meminfo
MemTotal: 16248572 kB
MemFree: 1764576 kB
MemAvailable: 3136604 kB
Buffers: 234132 kB
Cached: 4731288 kB
SwapCached: 28516 kB
Active: 9004412 kB
Inactive: 3552416 kB
Active(anon): 8094128 kB
Inactive(anon): 2896064 kB
Active(file): 910284 kB
Inactive(file): 656352 kB
Unevictable: 80 kB
Mlocked: 80 kB
SwapTotal: 17873388 kB
SwapFree: 17191328 kB
Dirty: 252 kB
Writeback: 0 kB
AnonPages: 7566736 kB
Mapped: 3692368 kB
Shmem: 3398784 kB
Slab: 278976 kB
SReclaimable: 125480 kB
SUnreclaim: 153496 kB
KernelStack: 23936 kB
PageTables: 73880 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 25997672 kB
Committed_AS: 24816804 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 3392 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 1059088 kB
DirectMap2M: 14493696 kB
DirectMap1G: 2097152 kB
3) Как использовать команду vmstat для просмотра использования памяти Linux
команда vmstat— еще один полезный инструмент для создания отчетов о статистике виртуальной памяти.
vmstatСообщаемая информация включает в себя: процесс, память, карту страниц, блочный ввод-вывод, ловушки, информацию о диске и характеристиках ЦП.vmstatНикаких специальных разрешений не требуется, и это может помочь диагностировать узкие места в системе.
# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 682060 1769324 234188 4853500 0 3 25 91 31 16 34 13 52 0 0
Если вы хотите узнать больше о том, что означает каждый элемент, прочитайте описания ниже.
-
procs:обработать-
r: количество процессов, которые могут быть запущены (запущены или ожидают запуска). -
b: количество процессов в непрерывном спящем режиме
-
-
memory:ОЗУ-
swpd: объем используемой виртуальной памяти -
free: количество свободной памяти -
buff: объем используемой буферной памяти -
cache: объем памяти для использования в качестве кеша -
inact: количество неактивной памяти (используя-aвариант) -
active: объем активной памяти (используя-aвариант)
-
-
Swap: поменять раздел-
si: количество памяти, выгружаемой с диска в секунду -
so: количество памяти, выгружаемой на диск в секунду
-
-
IO:ввод, вывод-
bi: Блоки, полученные от блочного устройства (блоки/сек) -
bo: блоки, отправленные на блочное устройство (блоков/сек)
-
-
System:система-
in: Количество прерываний в секунду, включая часы. -
cs: количество переключений контекста в секунду.
-
-
CPU: это проценты от общего времени ЦП.-
us: доля времени, потраченного на код, не связанный с ядром (включая время пользователя, время планирования). -
sy: процент времени, проведенного в коде ядра (системное время) -
id: Процент времени бездействия. До Linux 2.5.41, включая время ожидания ввода-вывода -
wa: процент времени ожидания ввода-вывода. До Linux 2.5.41 включено в простое -
st: процент времени, украденного виртуальной машиной. До Linux 2.6.11 эта часть называлась unknown
-
Выполните следующую команду, чтобы просмотреть подробную информацию.
# vmstat -s
16248580 K total memory
2210256 K used memory
2311820 K active memory
2153352 K inactive memory
11368812 K free memory
107584 K buffer memory
2561928 K swap cache
17873388 K total swap
0 K used swap
17873388 K free swap
44309 non-nice user cpu ticks
164 nice user cpu ticks
14332 system cpu ticks
382418 idle cpu ticks
1248 IO-wait cpu ticks
1407 IRQ cpu ticks
2147 softirq cpu ticks
0 stolen cpu ticks
1022437 pages paged in
260296 pages paged out
0 pages swapped in
0 pages swapped out
1424838 interrupts
4979524 CPU context switches
1577163147 boot time
3318 forks
4) Как использовать команду ps_mem для проверки использования памяти Linux
ps_mem— это простой скрипт Python для просмотра текущего использования памяти. Инструмент может определить, сколько памяти используется каждой программой (не каждым процессом).
Инструмент использует следующий метод для расчета памяти, используемой каждой программой: общее использование = частная память процесса программы + общая память процесса программы.
Вычислительной разделяемой памяти не хватает, инструмент может автоматически выбирать наиболее точный метод для работающего ядра.
# ps_mem
Private + Shared = RAM used Program
180.0 KiB + 30.0 KiB = 210.0 KiB xf86-video-intel-backlight-helper (2)
192.0 KiB + 66.0 KiB = 258.0 KiB cat (2)
312.0 KiB + 38.5 KiB = 350.5 KiB lvmetad
380.0 KiB + 25.5 KiB = 405.5 KiB crond
392.0 KiB + 32.5 KiB = 424.5 KiB rtkit-daemon
852.0 KiB + 117.0 KiB = 969.0 KiB gnome-session-ctl (2)
928.0 KiB + 56.5 KiB = 984.5 KiB gvfs-mtp-volume-monitor
1.0 MiB + 42.5 KiB = 1.0 MiB dconf-service
1.0 MiB + 106.5 KiB = 1.1 MiB gvfs-goa-volume-monitor
1.0 MiB + 180.5 KiB = 1.2 MiB gvfsd
.
.
5.3 MiB + 3.0 MiB = 8.3 MiB evolution-addressbook-factory
8.5 MiB + 1.2 MiB = 9.7 MiB gnome-session-binary (4)
7.5 MiB + 3.1 MiB = 10.5 MiB polkitd
7.4 MiB + 3.3 MiB = 10.7 MiB pulseaudio (2)
7.0 MiB + 7.0 MiB = 14.0 MiB msm_notifier
12.7 MiB + 2.3 MiB = 15.0 MiB evolution-source-registry
13.3 MiB + 2.5 MiB = 15.8 MiB gnome-terminal-server
15.8 MiB + 1.0 MiB = 16.8 MiB tracker-miner-fs
18.7 MiB + 1.8 MiB = 20.5 MiB python3.7
16.6 MiB + 4.0 MiB = 20.5 MiB evolution-calendar-factory
22.3 MiB + 753.0 KiB = 23.0 MiB gsd-keyboard (2)
22.4 MiB + 832.0 KiB = 23.2 MiB gsd-wacom (2)
20.8 MiB + 2.5 MiB = 23.3 MiB blueman-tray
22.0 MiB + 1.8 MiB = 23.8 MiB blueman-applet
23.1 MiB + 934.0 KiB = 24.0 MiB gsd-xsettings (2)
23.7 MiB + 1.2 MiB = 24.9 MiB gsd-media-keys (2)
23.4 MiB + 1.6 MiB = 25.0 MiB gsd-color (2)
23.9 MiB + 1.2 MiB = 25.1 MiB gsd-power (2)
16.5 MiB + 8.9 MiB = 25.4 MiB evolution-alarm-notify
27.2 MiB + 2.0 MiB = 29.2 MiB systemd-journald
28.7 MiB + 2.8 MiB = 31.5 MiB c
29.6 MiB + 2.2 MiB = 31.8 MiB chrome-gnome-sh (2)
43.9 MiB + 6.8 MiB = 50.7 MiB WebExtensions
46.7 MiB + 6.7 MiB = 53.5 MiB goa-daemon
86.5 MiB + 55.2 MiB = 141.7 MiB Xorg (2)
191.4 MiB + 24.1 MiB = 215.4 MiB notepadqq-bin
306.7 MiB + 29.0 MiB = 335.7 MiB gnome-shell (2)
601.6 MiB + 77.7 MiB = 679.2 MiB firefox
1.0 GiB + 109.7 MiB = 1.1 GiB chrome (15)
2.3 GiB + 123.1 MiB = 2.5 GiB Web Content (8)
----------------------------------
5.6 GiB
==================================
5) Как использовать команду smem для просмотра использования памяти Linux
smemэто инструмент, который может предоставлять различные отчеты об использовании памяти для систем Linux. В отличие от существующих инструментов,smemможет сообщитьразмер набора масштабов(ПСС),Уникальный размер набора(USS) иразмер резидентного набора(РСС).
- Пропорциональный размер набора (PSS): объем использования библиотек и приложений в системе виртуальной памяти.
- Размер уникального набора (USS): сообщает о неразделяемой памяти.
- Размер резидентного набора (RSS): использование физической памяти (обычно совместно используемой несколькими процессами), которое обычно выше, чем использование памяти.
# smem -tk
PID User Command Swap USS PSS RSS
3383 daygeek cat 0 92.0K 123.0K 1.7M
3384 daygeek cat 0 100.0K 129.0K 1.7M
1177 daygeek /usr/lib/gnome-session-ctl 0 436.0K 476.0K 4.6M
1171 daygeek /usr/bin/dbus-daemon --conf 0 524.0K 629.0K 3.8M
1238 daygeek /usr/lib/xdg-permission-sto 0 592.0K 681.0K 5.9M
1350 daygeek /usr/lib/gsd-screensaver-pr 0 652.0K 701.0K 5.8M
1135 daygeek /usr/lib/gdm-x-session --ru 0 648.0K 723.0K 6.0M
.
.
1391 daygeek /usr/lib/evolution-data-ser 0 16.5M 25.2M 63.3M
1416 daygeek caffeine-ng 0 28.7M 31.4M 66.2M
4855 daygeek /opt/google/chrome/chrome - 0 38.3M 46.3M 120.6M
2174 daygeek /usr/lib/firefox/firefox -c 0 44.0M 50.7M 120.3M
1254 daygeek /usr/lib/goa-daemon 0 46.7M 53.3M 80.4M
3416 daygeek /opt/google/chrome/chrome - 0 44.7M 54.2M 103.3M
4782 daygeek /opt/google/chrome/chrome - 0 57.2M 65.8M 142.3M
1137 daygeek /usr/lib/Xorg vt2 -displayf 0 77.2M 129.6M 192.3M
3376 daygeek /opt/google/chrome/chrome 0 117.8M 131.0M 210.9M
4448 daygeek /usr/lib/firefox/firefox -c 0 124.4M 133.8M 224.1M
3558 daygeek /opt/google/chrome/chrome - 0 157.3M 165.7M 242.2M
2310 daygeek /usr/lib/firefox/firefox -c 0 159.6M 169.4M 259.6M
4331 daygeek /usr/lib/firefox/firefox -c 0 176.8M 186.2M 276.8M
4034 daygeek /opt/google/chrome/chrome - 0 179.3M 187.9M 264.6M
3911 daygeek /opt/google/chrome/chrome - 0 183.1M 191.8M 269.4M
3861 daygeek /opt/google/chrome/chrome - 0 199.8M 208.2M 285.2M
2746 daygeek /usr/bin/../lib/notepadqq/n 0 193.5M 217.5M 261.5M
1194 daygeek /usr/bin/gnome-shell 0 203.7M 219.0M 285.1M
2945 daygeek /usr/lib/firefox/firefox -c 0 294.5M 308.0M 410.2M
2786 daygeek /usr/lib/firefox/firefox -c 0 341.2M 354.3M 459.1M
4193 daygeek /usr/lib/firefox/firefox -c 0 417.4M 427.6M 519.3M
2651 daygeek /usr/lib/firefox/firefox -c 0 417.0M 430.1M 535.6M
2114 daygeek /usr/lib/firefox/firefox -c 0 430.6M 473.9M 610.9M
2039 daygeek /usr/lib/firefox/firefox -- 0 601.3M 677.5M 840.6M
-------------------------------------------------------------------------------
90 1 0 4.8G 5.2G 8.0G
6) Как использовать команду top для просмотра использования памяти Linux
высшая командаЭта команда чаще всего используется администраторами системы Linux для просмотра использования ресурсов процессом.
Эта команда отобразит общий объем системной памяти, текущее использование памяти, свободную память и общую память, используемую буферами. Кроме того, команда отображает общий объем памяти подкачки, текущее использование памяти подкачки, свободную память подкачки и общее использование кэш-памяти.
# top -b | head -10
top - 11:04:39 up 40 min, 1 user, load average: 1.59, 1.42, 1.28
Tasks: 288 total, 2 running, 286 sleeping, 0 stopped, 0 zombie
%Cpu(s): 13.3 us, 1.5 sy, 0.0 ni, 84.4 id, 0.0 wa, 0.3 hi, 0.5 si, 0.0 st
KiB Mem : 16248572 total, 7755928 free, 4657736 used, 3834908 buff/cache
KiB Swap: 17873388 total, 17873388 free, 0 used. 9179772 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2114 daygeek 20 3182736 616624 328228 R 83.3 3.8 7:09.72 Web Content
2039 daygeek 20 4437952 849616 261364 S 13.3 5.2 7:58.54 firefox
1194 daygeek 20 4046856 291288 165460 S 4.2 1.8 1:57.68 gnome-shell
4034 daygeek 20 808556 273244 88676 S 4.2 1.7 1:44.72 chrome
2945 daygeek 20 3309832 416572 150112 S 3.3 2.6 4:04.60 Web Content
1137 daygeek 20 564316 197292 183380 S 2.5 1.2 2:55.76 Xorg
2651 daygeek 20 3098420 547260 275700 S 1.7 3.4 2:15.96 Web Content
2786 daygeek 20 2957112 463912 240744 S 1.7 2.9 3:22.29 Web Content
1 root 20 182756 10208 7760 S 0.8 0.1 0:04.51 systemd
442 root -51 S 0.8 0:05.02 irq/141-iw+
1426 daygeek 20 373660 48948 29820 S 0.8 0.3 0:03.55 python3
2174 daygeek 20 2466680 122196 78604 S 0.8 0.8 0:17.75 WebExtensi+
7) Как использовать команду htop для просмотра использования памяти Linux
команда htopинтерактивный просмотрщик системных процессов Linux/Unix. Это текстовое приложение, и для его использования требуется библиотека ncurses, разработанная Хишамом.
Заказ предназначен для использования вместоtopЗаказ. Эта команда аналогичнаtopКоманды похожи, но позволяют прокручивать по вертикали или по горизонтали, чтобы увидеть все процессы в системе.
htopКоманды имеют разные цвета, дополнительный бонус, полезный при отслеживании производительности системы.
Кроме того, вы можете выполнять задачи, связанные с процессом, такие как завершение процесса или изменение приоритета процесса без необходимости его идентификатора процесса (PID).
8) Как использовать команду seeks для просмотра использования памяти в Linux
GlancesЭто кроссплатформенный инструмент для мониторинга системы, написанный на Python.
Вы можете просматривать всю информацию в одном месте, например: использование ЦП, использование памяти, запущенные процессы, сетевые интерфейсы, дисковый ввод-вывод, RAID, датчики, информацию о файловой системе, Docker, информацию о системе, время безотказной работы и многое другое.
via: 2day geek.com/Linux-comma…
автор:Magesh MaruthamuthuТема:lujun9972Переводчик:Мэнсин АянВычитка:wxy
Эта статья написанаLCTTоригинальная компиляция,Linux КитайЧесть запуска