Как да проверите използването на паметта на Linux

How Check Linux Memory Usage



Паметта или RAM (памет с произволен достъп) са много важни за компютъра. Програмите, които стартирате на компютъра си, съхраняват малки частици информация в оперативната памет, така че да има достъп до нея, когато е необходимо, възможно най -бързо.

RAM е много бърз и е по -близо до централния процесор (централен процесор) на компютъра. Тъй като RAM е по -близо до процесора на компютъра, процесорът има директен достъп до RAM. По този начин закъснението за достъп до данни е много малко в сравнение с устройства за съхранение като HDD или SSD. Ето защо всички програми използват RAM за съхранение на кеш данни.







За съжаление, RAM паметта е много скъпа и ограничена. Без достатъчно свободна RAM, компютърът ви няма да функционира правилно. Работещите програми на вашия компютър могат да висят или да спрат. Възможно е да не можете да стартирате нови програми. В най -лошия случай цялата ви система ще виси и ще стане неизползваема.



Проверката на използването на RAM е една от най -важните задачи в Linux. Можете да диагностицирате много проблеми с Linux, ако можете да наблюдавате използването на RAM на вашата Linux система.



Има много инструменти за проверка на използването на паметта в Linux. В тази статия ще ви покажа някои от най -често срещаните начини за проверка на използването на паметта в Linux. И така, нека започнем.





Единиците на компютърната памет:

В тази статия ще ме видите как използвам термините килобайти, мегабайти, гигабайти, кибибайти, мебибайти, гибибайти и т.н. Не се обърквайте. Ще ги обясня в този раздел.

Всички компютърни хранилища използват едно и също устройство. Това е много важно да се разбере.



Компютърните устройства за съхранение са дадени по -долу.

  • Бит: Най -малката единица за съхранение на компютри е малко. Битът може да съдържа 0 или 1. Това е всичко.
  • Байт: 8 бита образуват байт.
  • Килобайти: 1000 байта образуват килобайт.
  • Мегабайт: 1000 килобайта образуват мегабайт.
  • Гигабайт: 1000 мегабайта образуват гигабайт.
  • Терабайт: 1000 гигабайта образуват терабайт.
  • Петабайт: 1000 терабайта образуват петабайт.
  • килобайта: 1024 байта образуват кибибайт.
  • Мебибайт: 1024 кибибайта образуват мебибайт.
  • Гибибайт: 1024 мебибайта образуват гибибайт.
  • Тебибайт: 1024 гибибайта образуват тебебайт.
  • Пебибайт: 1024 тебебайта образуват пебибайт.

По отношение на байтове, компютърните единици за съхранение са както следва.

  • Килобайти: 1000 байта или 103байтове.
  • Мегабайт: 1 000 000 байта или 106байтове.
  • Гигабайт: 1 000 000 000 байта или 109байтове.
  • Терабайт: 1 000 000 000 000 байта или 1012байтове.
  • Петабайт: 1 000 000 000 000 000 байта или 10петнадесетбайтове.
  • килобайта: 1024 байта или 210байтове.
  • Мебибайт: 1 048 576 байта или 2двайсетбайтове.
  • Гибибайт: 1 073 741 824 байта или 230байтове.
  • Тебибайт: 1 099 511 627 776 байта или 240байтове.
  • Пебибайт: 1,125,899,906,842,624 или 2петдесетбайтове.

Сега, когато познавате компютърните устройства за съхранение, би трябвало да можете лесно да конвертирате от едно устройство в друго.

Забележете, че килобайт, мегабайт, гигабайт, терабайт и петабайт са мощности от 10 байта. Но, kibibyte, mebibyte, gibibyte, tebibyte и pebibyte са степени от 2 байта. За нас, хората, е лесно да се изчисли в степени 10 (десетична цифрова система), тъй като имаме 10 пръста. Но за компютрите е по -лесно да се изчисли степента на 2 (двоична цифрова система). Така че компютрите използват мощности 2, за да представят обема на хранилището или паметта.

Единиците имат стенограми или символи. Ще ги виждате много често, докато проверявате използването на паметта в Linux.

Стенограмите или символите са дадени по -долу.

  • Байтове: Б
  • Килобайти: KB или kB
  • Мегабайт: MB
  • Гигабайт: GB
  • Терабайт: СЪЩО
  • Петабайт: PB
  • Байтове: Б
  • килобайта: KiB или K
  • Мебибайт: MiB или M
  • Гибибайт: GiB или G
  • Тебибайт: TiB или T
  • Пебибайт: PiB или P

Някои програми може да не спазват този стандарт и да използват тези стенографии или символи взаимозаменяемо. Разликата не е толкова голяма между тези единици (т.е. килобайт срещу кибибайт) така или иначе. Не се притеснявайте за това.

Памет срещу размяна в Linux:

В Linux физическата памет се нарича памет . Когато физическата памет се запълни, Linux интелигентно премества по -рядко достъпните данни от паметта към определена част от диска (HDD или SSD). Тази част от диска се нарича swap.

Когато няма налична свободна физическа памет, някои по -рядко достъпни данни се преместват в суапа. Това освобождава физическата памет и по този начин спасява системата от срив.

Разменящият се диск е много бавен в сравнение с RAM или физическата памет. Ако Linux система използва широко пространство за размяна, системата може да стане много бавна и да не реагира. Така че системата на Linux не трябва да използва пространството за суап. Искаме да го избегнем колкото е възможно повече. Когато системата на Linux започне да запълва мястото за суап, това е знак, че системата на Linux се нуждае от повече физическа памет. Добра идея е да добавите повече RAM или физическа памет към системата.

Проверка на използването на паметта безплатно:

Безплатно е команда, която показва общата информация за използването на паметта на системата. Безплатно се доставя с почти цялата дистрибуция на Linux по подразбиране.

Можете да проверите използването на паметта с Безплатно команда, както следва:

$Безплатно

The Безплатно команда без никакви опции на командния ред показва информацията за паметта и суапа за използване в единицата Kibibytes.

По подразбиране, Безплатно команда показва използването на буфери и кеш памет в buff / кеш колона. Ако искате да видите буферите и кеш паметта отделно, изпълнете безплатната команда с опция, както следва:

$Безплатно

Както можете да видите, буфери и кеш информацията за използването на паметта се показва в различни колони.

Безплатната команда показва следната информация:

обща сума: Това е общата налична физическа памет и пространство за суап (в кибибайта) на вашата Linux система.

използвани: Това е количеството физическа памет и пространство за суап, което се използва от вашата Linux система. Забележете, че 0 KiB пространство за размяна се използва в моята машина Ubuntu. Така че, той изобщо не използва swap. Това е много добре.

Безплатно: Това е количеството физическа памет, което все още не се използва.

споделено: Това е количеството памет, което се споделя от различни процеси или програми. Една или повече програми на Linux могат да използват една и съща библиотека или извиквания на функции. Вместо да разпределя памет многократно за едни и същи неща, Linux интелигентно споделя общите неща между тези процеси или програми. Това спестява физическа памет. The tmpfs filesystems ( i.e. /dev/shm , /бягане , /бягане/заключване , /run/user/ , /sys/fs/cgroup и др.) също използват малко физическа памет, която се споделя с всички процеси и програми в Linux.

буфери: Това е количеството памет, което се използва от буферите на ядрото. Буферът е блок памет, в който данните се съхраняват временно при преместване на данни от едно място на друго.

кеш: Това е количеството физическа памет, която се използва за кеш данни.

buff / кеш: Това е общото количество физическа памет, използвана за буфери и кеш.

на разположение: Това е приблизителната налична физическа памет, която може да се използва за стартиране на нови приложения, без да се разменя.

Можете също да използвате различни опции на командния ред, за да видите паметта и да разменяте информацията за използването в различни единици.

Например, за да видите паметта и да размените информацията за използването в байтове, изпълнете Безплатно команда с -b или - Байт опция, както следва:

$Безплатно -b

За да видите паметта и да разменяте информацията за използване в кибибайта (по подразбиране), стартирайте Безплатно команда с -да се или - Киби опция, както следва:

$Безплатно -да се

За да видите паметта и да разменяте информацията за използване в мебибайта, стартирайте Безплатно команда с или - Меби опция, както следва:

$Безплатно

За да видите паметта и да разменяте информацията за използването в гибибайта, стартирайте Безплатно команда с -g или -като опция, както следва:

$Безплатно -g

По същия начин можете да използвате -за теб и - пеби опции на командния ред за показване на паметта и информация за използване на суап съответно в tebibytes и pebibytes.

Ако искате да покажете паметта и да размените информацията за използване в килобайти, стартирайте Безплатно команда с -кило опция, както следва:

$Безплатно --кило

Ако искате да покажете паметта и да размените информацията за използването в мегабайти, стартирайте Безплатно команда с -мега опция, както следва:

$Безплатно -мега

Ако искате да покажете паметта и да размените информацията за използването в гигабайта, стартирайте Безплатно команда с –Гига опция, както следва:

$Безплатно --гига

По същия начин можете да използвате –Тера и -карта опции на командния ред за показване на паметта и размяна на информацията за използване в терабайти и петабайти съответно.

The Безплатно командата също има опция за изход, четима от човека. Тази опция ще отпечата много лесна за разбиране (за хората) памет и ще размени информация за използването на екрана.

За да се чете от човека изход, стартирайте Безплатно команда с или -човек опция, както следва:

$Безплатно

Както можете да видите, четимият от човека формат е наистина лесен за разбиране.

The или -човек опцията отпечатва паметта и сменя информацията за използване в байтове, кибибайти, мебибайти, гибибайти, тебебайти или пебибайти по подразбиране. Тези единици използват база-2 или двоична числова система (степени 2).

Ако искате да видите четения от човека изход в база-10 или десетична числова система (степени 10), тогава изпълнете безплатната команда с или -човек опция за командния ред, както и -Да опция за командния ред, както следва:

$Безплатно --човек --Да

The Безплатно командата ще отпечата паметта и ще размени информацията за използването в байтове, килобайти, мегабайти, гигабайти, терабайти или петабайти. Тези единици използват база-10 или десетичната числова система (степени 10).

Ако искате да покажете общата памет и да разменяте информация за използването, изпълнете безплатната команда с опцията -t или –total, както следва:

$Безплатно -T

Както можете да видите, информацията за общата употреба на паметта (физически + подмяна) се показва в края на изхода.

Можете също да стартирате Безплатно команда в режим на наблюдение. В този режим, Безплатно командата непрекъснато ще отпечатва паметта и ще разменя информацията за използването след определен интервал от време (в секунди).

Можете да стартирате Безплатно команда в режим на наблюдение с или - секунди опция за командния ред, както следва:

$Безплатно <забавяне>

Или,

$Безплатно- секунди<забавяне>

Тук, е броят на секундите, след които на екрана ще се отпечата нова информация за използването на паметта и размяната.

Например, за да отпечатвате памет и да разменяте информация за използването непрекъснато на интервал от 5 секунди, изпълнете безплатната команда, както следва:

$Безплатно 5

Както можете да видите, информацията за използването на паметта и размяната се отпечатва на всеки 5 секунди.

Ако искате да спрете Безплатно команда, натиснете + ° С .

В режим на наблюдение, Безплатно командата непрекъснато ще отпечатва памет и ще разменя информацията за използването по подразбиране. Можете да използвате -° С или -броя опция от командния ред за ограничаване на броя на отпечатване на нова информация за паметта и размяна на информация за използване.

Например, за да отпечатате паметта и да размените информацията за използването 5 пъти на интервал от 10 секунди, изпълнете Безплатно команда, както следва:

$Безплатно 10 -° С 5

Както можете да видите, Безплатно командата отпечатва паметта и разменя информацията за използването само 5 пъти на интервал от 10 секунди.

Това е почти всичко, което трябва да знаете, за да проверите паметта и да замените използването с Безплатно команда. Но ако искате да знаете повече, проверете страницата на Безплатно команда, както следва:

$човек Безплатно

Страницата на Безплатно трябва да се покаже командата.

Проверка на използването на паметта чрез четене /proc /meminfo файл:

Можете също да проверите информацията за използването на паметта на вашата Linux система, като прочетете /proc/meminfo файл.

Можете да прочетете /proc/meminfo файл със следната команда:

$котка /процента/meminfo

Файлът има много информация за използването на паметта. Употребата на паметта е в единицата килобибайт.

Най -важната информация за използването на паметта в /proc/meminfo файлът са:

MemTotal: Това е общата инсталирана памет или физическа памет (RAM) на системата Linux.

MemFree: Това е количеството неизползвана физическа памет (RAM).

Mem Налични: Това е приблизителният обем физическа памет (RAM), налична за новите програми.

Буфери: Това е количеството физическа памет, запазено за буферите на ядрото. Буферите се използват за временно съхраняване на данни, докато се преместват от едно място на друго.

Кеширано: Това е количеството физическа памет, използвана като кеш памет.

SwapCached: Това е количеството памет, което беше преместено на диска за размяна и върнато обратно във физическата RAM. Но данните все още се кешират в сменящия диск.

Активен: Това е количеството физическа памет, което се използва и обикновено не се възстановява, освен ако не е необходимо.

Неактивен: Това е количеството физическа памет, което се използва и лесно се възстановява от други процеси или програми, ако е необходимо.

Активен (анонимно): Това е количеството физическа памет, използвана от анонимните файлови системи tmpfs и споделената памет.

Неактивен (анонимно): Това е количеството физическа памет, използвана от анонимните файлови системи tmfs и споделената памет, която може да бъде възстановена.

Активен (файл): Това е количеството кеш памет, което се използва активно.

Неактивен (файл): Това е количеството кеш памет, която е наскоро заредена или подлежи на възстановяване.

Неотстраним: Това е количеството памет, което не може да бъде възстановено, тъй като е заключено от потребителски програми.

Mlocked: Това е общото количество памет, което не може да бъде възстановено, тъй като е заключено от потребителски програми.

SwapTotal: Това е общият размер на сменящия диск.

SwapFree: Това е количеството свободно пространство за размяна.

Мръсни: Общото количество памет, което чака да бъде записано обратно на диска.

Пиша в отговор на писмо: Общото количество памет, която се записва обратно на диска.

AnonPages: Общият обем памет, използван от страниците и се съпоставя в таблиците със страници на потребителското пространство.

Съпоставен: Количеството памет, което се използва за файлове, които са mmaped от ядрото на Linux, като например библиотеките, използвани от различни програми.

Пример: Това е количеството памет, което се споделя и използва от файловите системи tmpfs.

KR подлежи на иск: Обемът памет, която се изисква от ядрото и може да бъде възстановена, когато е необходимо.

Плоча: Това е количеството памет, използвано от ядрото за кеширане на структури от данни за използването на ядрото.

SR подлежащи на заявяване: Това е количеството памет от плочата, което може да бъде възстановено.

SUnreclaim: Това е количеството памет от плочата, което не може да бъде възстановено дори когато е необходимо.

KernelStack: Това е количеството памет, което се използва за разпределяне на стека на ядрото.

Таблици на страници: Това е обемът памет, който е предназначен за таблици със страници. Таблицата на страниците е структура от данни, използвана от компютър за съпоставяне между виртуална памет и физическа памет.

Отказ: Това е количеството памет, използвано за буфера на блокови устройства (т.е. устройства за съхранение като HDD или SSD).

Писане обратно: Tmp: Количеството памет, което се използва за временните буфери за обратно записване FUSE.

Има много друга информация за използването на паметта в /proc/meminfo файл. Ако се интересувате, можете да разгледате какви са те в страницата на процента .

За да отворите страницата на процента , изпълнете следната команда:

$човек 5процента

Трябва да се отвори страницата на proc.

Напишете в /proc/meminfo и натиснете . Той трябва да ви отведе до секцията /proc /meminfo, както можете да видите на екрана по -долу. Ще намерите описания на всяко поле в /proc/meminfo файл тук.

Проверка на използването на паметта с помощта на горната част:

The Горна част е програма, която показва текущите процеси и използването на техните ресурси в реално време. The Горна част идва предварително инсталиран в повечето дистрибуции на Linux.

Можете да бягате Горна част със следната команда:

$Горна част

The Горна част програмата трябва да стартира. В горната част на Горна част програма, както е отбелязано на екранната снимка по -долу, трябва да видите обобщената информация за използването на паметта и размяната в единицата мебибайти (по подразбиране).

The Горна част командата ще покаже следната информация за физическата памет:

обща сума: Общата налична физическа памет на системата.

Безплатно: Количеството физическа памет все още неизползвано.

използвани: Количеството физическа памет, използвана от системата.

buff / кеш: Количеството физическа памет, използвана като кеш памет и буфер.

ползват Mem: Количеството физическа памет, което е достъпно за нови програми.

The Горна част командата ще покаже следната информация за размяна:

обща сума: Общата налична суап памет на системата.

Безплатно: Количеството свободна памет за суап на системата.

използвани: Количеството суап памет, използвано от системата.

Можете да натиснете м за да превключвате между различен режим на обобщена употреба на паметта.

Например, натискане м веднъж ще премине към следния режим. В този режим, Горна част показва физическата памет и информация за използването на суап като процент_памет_използван/общо_памет_в_мебибайта .

Натискане м отново ще промени стила на лентата за напредък. Информацията ще бъде същата като преди.

The Горна част командата също показва информация за използването на паметта за всеки от процесите, изпълнявани на вашия компютър в реално време. Командата отгоре показва информация за използването на паметта на процесите в кибибайтовата единица по подразбиране.

По подразбиране, Горна част командата показва следната информация за използването на паметта:

УВАЖЕН: Това е размерът на виртуалната памет на процеса. Виртуалната памет е общата физическа и суап памет, използвана от процеса.

Говеждо месо: Това е размерът на постоянната памет на процеса. Резидентната памет е количеството физическа памет, която процесът използва.

SHR: Това е размерът на споделената памет на процеса. Това е количеството памет, което процесът използва, което също се споделя с някои други процеси.

%MEM: Процентът на физическата памет, която процесът използва.

Можете да конфигурирате Горна част команда за показване на повече информация за използването на паметта, като,

КОД: Това е размерът на кода на процеса. Това е количеството физическа памет, предназначена за изпълнимия код на процеса. Известен е също като Text Resident Set или TRS.

ДАННИ: Това е размерът на данните и стека на процеса. Това е количеството памет, запазено от процес. Възможно е все още да не е свързано с физическа памет. Но винаги ще се показва във виртуалната памет (VIRT) на процеса. Известен е също като Data Resident Set или DRS.

RSan: Това е постоянният размер на анонимната памет на процеса. Това е подмножество на физическата памет (RES), което представлява частни страници, които все още не са картографирани във файл.

RSfd: Това е постоянният размер на паметта, поддържана от файлове, на процеса. Това е подмножество на физическата памет (RES), което представлява споделени страници и поддържащи образи на програмата, споделени библиотеки, картографиране на файлове и т.н.

RSsh: Това е постоянният размер на споделената памет на процеса. Това е подмножество на физическата памет (RES), което представлява споделени анонимни страници.

RSlk: Това е постоянният размер на заключената памет на процеса. Това е количеството физическа памет (RES), което не може да бъде заменено. Тя трябва да остане във физическата памет.

РАЗМЯНА: Това е размененият размер на процеса. Това е количеството информация за физическа памет (RES), която се премества в пространството за размяна на диска от физическата памет.

ИЗПОЛЗВАН: Това е общият обем памет (физически + суап), който процесът използва.

ИЗПОЛЗВАН = RES + SWAP.

Обърнете внимание, че физическата памет (RES), използвана от процеса, е сумиране на постоянен размер на анонимна памет (RSan), размер на постоянна памет, подкрепена от файлове (RSfd) и размер на споделена споделена памет (RSsh).

RES = RSan + RSfd + RSsh

За да активирате тези колони с информация за паметта, стартирайте Горна част и натиснете е .

Използвайте клавишите със стрелки, за да отидете до маркираните колони и натиснете да го превключваш. Активираните колони ще имат * знак вляво.

След като приключите, натиснете Какво за да се върнете към горния прозорец за наблюдение на процеса. Както можете да видите, се показват колоните с информация за използването на паметта SWAP, CODE, DATA, USED, RSan, RSfd, RSlk, RSsh.

По подразбиране, Горна част командата показва информация за използването на паметта в единицата kibibyte. Ако искате да видите информацията за използването на паметта в различно устройство като mebibyte, gibibyte, tebibyte или pebibyte, можете да направите и това.

За да превключвате между различни единици памет (kibibyte, mebibyte, gibibyte, tebibyte или pebibyte), стартирайте отгоре и натиснете И .

Горна част информацията за използването на паметта се показва в мебибайта.

Горна част информацията за използването на паметта се показва в гибибайта.

Горна част информацията за използването на паметта се показва в tebibytes.

Горна част информацията за използването на паметта се показва в пебибайта.

На вашата операционна система Linux се изпълняват много процеси. Горната команда не може да ги покаже всички наведнъж. Можете да натиснете и задържите и клавишите със стрелки за навигиране в списъка на процесите Горна част показва командите.

Можете също да сортирате изхода на горната команда по определена колона.

Да речем, че искате да видите кой процес използва най -много пространство за размяна. За да направите това, бягайте Горна част и натиснете е .

След това изберете колоната SWAP с помощта на клавишите със стрелки на клавиатурата и натиснете с .

Полето за сортиране на Горна част командата трябва да бъде променена на SWAP. Натиснете Какво за да се върнете към прозореца за наблюдение на процеса.

Както можете да видите, процесите, които използват най -много пространство за размяна, са изброени първо.

След като сте конфигурирали Горна част команда, можете да натиснете + в за да запазите конфигурацията в a toprc конфигурационен файл. По този начин не е нужно да конфигурирате отново Горна част всеки път, когато го използвате.

Проверка на използването на паметта с помощта на htop:

htop е преглед на процеси в реално време на Linux, точно като Горна част . Но htop има допълнителни функции, които Горна част не. Най -очевидната нова характеристика на htop е подчертаване на синтаксиса и по -добър потребителски интерфейс. Можеш да кажеш htop е разширен Горна част .

Подобно на Горна част , htop не е предварително инсталиран на по -голямата част от дистрибуцията на Linux. Но той е достъпен в официалното хранилище на пакети на почти всички дистрибуции на Linux там. Така че можете лесно да го инсталирате на желаната от вас дистрибуция на Linux.

Да инсталираш htop на Ubuntu/Debian изпълнете следните команди:

$sudoподходяща актуализация
$sudoподходящИнсталирай htop

ЗАБЕЛЕЖКА: На CentOS/RHEL, htop е на разположение в хранилището на EPEL. Преди да инсталирате htop , трябва да имате хранилище на EPEL ( epel-освобождаване пакет), инсталиран на вашата система CentOS/RHEL.

Да инсталираш htop на CentOS 7/RHEL 7, изпълнете следните команди:

$sudo yum инсталирайтеepel-освобождаване
$sudo yum инсталирайте htop

Да инсталираш htop на CentOS 8/RHEL 8, изпълнете следните команди:

$sudodnfИнсталирайepel-освобождаване
$sudodnfИнсталирай htop

Веднъж htop е инсталиран, можете да го изпълните със следната команда:

$htop

Htop трябва да започне.

На върха, htop показва физическа памет и обобщение на използването на суап. Той също така показва използването на паметта и суапа в хубава диаграма.

Информацията за използването на паметта и размяната е във формат използвани / обща сума . htop автоматично ще реши единицата (kibibyte, mebibyte, gibibyte, tebibyte или pebibyte) да опише най -добре паметта и да размени информацията за използването.

Лентите за използване на паметта и размяната са представени с различни цветове. Цветовете имат значение.

За да разберете какво представлява всеки цвят, тичайте htop и натиснете з за да отидете в прозореца за помощ на htop .

Както можете да видите, зеленият цвят представлява физическа памет, използвана от различни програми/процеси, синият цвят представлява физическата памет, използвана като буфери, жълтият цвят представлява физическата памет, използвана като кеш памет, а червеният цвят представлява използваната разменяйте пространството.

За да се върнем към основното htop прозорец, натиснете Какво .

Подобно на Горна част , htop програмата също показва информация за използването на паметта на всеки от процесите, изпълнявани във вашата Linux система. htop автоматично ще реши единицата (kibibyte, mebibyte, gibibyte, tebibyte или pebibyte) да опише най -добре използването на паметта на всеки от процесите.

По подразбиране, htop командата показва следната информация за използването на паметта:

VIRT/M_SIZE: Това е размерът на виртуалната памет на процеса. Виртуалната памет е общата физическа и суап памет, използвана от процеса.

RES/M_RESIDENT: Това е резидентният размер на процеса. Резидентната памет е количеството физическа памет, която процесът използва. Равен е на текст + данни + стек или M_TRS + M_DRS.

SHR/M_SHARE: Това е размерът на споделената памет на процеса. Това е количеството памет, което процесът използва, което също се споделя с някои други процеси.

%MEM/PERCENT_MEM: Процентът на физическата памет, която процесът използва.

Можете да конфигурирате htop команда за показване на повече информация за използването на паметта, като,

КОД / M_TRS: Това е размерът на кода на процеса. Това е количеството физическа памет, предназначена за изпълнимия код на процеса.

DATA/M_DRS: Това са данните и размерът на стека на процеса. Това е количеството памет, запазено от процес. Възможно е все още да не е свързано с физическа памет. Но винаги ще се показва във виртуалната памет (VIRT/M_SIZE) на процеса.

LIB/M_LRS: Това е размерът на библиотеката на процеса. Това е количеството физическа памет, която използва библиотечен код (използван от процеса/програмата).

DIRTY/M_DT: Това е размерът на мръсните страници на процеса. Разделът/страницата, който е променен в буфера, се нарича мръсна страница.

За да активирате тези колони с информация за паметта, стартирайте htop и натиснете F2 .

След това отидете до Колони от Настройвам раздел, изберете колоната, пред която искате да добавите нови колони от Активни колони раздел, изберете колоната, която искате да добавите от Налични колони раздел и натиснете за да добавите колоната.

Колоната трябва да се добави към Активни колони раздел.

По същия начин добавете другите колони памет (колони, които започват с М_ ). След като приключите, натиснете да се върна към основното htop прозорец.

Както можете да видите, се добавят допълнителни колони с информация за използването на паметта.

Можете да видите процесите в изглед на дърво . От тази гледна точка процесите са организирани от връзката родител-дете.

За да превключите към изглед на дърво, натиснете T . Както можете да видите, процесите са организирани много добре от връзката им родител-дете. В този режим можете да видите кои дъщерни процеси се раждат от родителски процес и използването на паметта им.

За да излезете от дървовидния изглед, натиснете T отново. Трябва да се върнете към изгледа по подразбиране.

Можете също да сортирате процесите по различни колони за използване на паметта. По подразбиране процесите са сортирани според използването на процесора (CPU%).

За да сортирате процесите по определена колона, натиснете F6 .

След това изберете колона, по която искате да сортирате процесите, от Сортиране по раздел и натиснете .

Ще подредя процесите по M_RESIDENT / ГОВЕЧКО колона за демонстрация.

Както можете да видите, процесите са добре подредени според използването на постоянната памет.

The htop програмата изброява много процеси. Всички тези процеси не могат да бъдат показани в ограничения размер на прозореца/екрана. Но можете да натиснете и клавишите със стрелки за навигация в списъка с процеси много лесно.

Проверка на използването на паметта с помощта на smem:

Програми за проверка на използването на паметта като Горна част , htop, и т.н. показва пълната споделена памет за всеки от процесите. Това означава, че въпреки че паметта се споделя от някои процеси, тя отчита тази използвана памет за всеки от процесите, споделящи тази памет. Така че получавате някаква неправилна информация за използването на паметта.

В математиката изглежда така,

използване на физическа памет на процеса = използване на споделена памет + използване на споделена памет

аз мога се опитва да избегне това и да отчита правилно използването на паметта. Той разделя споделената памет на броя процеси, използващи тази споделена памет, и добавя резултата към всеки от процесите, споделящи тази памет. Така че използването на паметта се увеличава добре. Общото използване на паметта ще бъде сумиране на използването на паметта на всички процеси. Това няма да се случи в htop или Горна част .

В математиката изглежда така,

използване на физическа памет на процеса =(използване на споделена памет/брой процеси, споделящи памет)
+ несподелена памет

аз мога не е предварително инсталиран по подразбиране в повечето дистрибуции на Linux. Но той е достъпен в официалното хранилище на пакети на по -голямата част от дистрибуцията на Linux.

На Ubuntu/Debian можете да инсталирате аз мога със следните команди:

$sudoподходяща актуализация
$sudoподходящИнсталирайаз мога

На CentOS/RHEL 7, аз мога се предлага в хранилището на пакети EPEL. Така че, трябва да добавите хранилището на EPEL към CentOS/RHEL 7, за да инсталирате аз мога .

На CentOS/RHEL 7 можете да инсталирате аз мога със следните команди:

$sudo yum инсталирайтеepel-освобождаване
$sudo yum инсталирайтеаз мога

За жалост, аз мога не е налично в официалното хранилище на пакети или EPEL хранилище на CentOS/RHEL 8. Трябва да можете да компилирате аз мога от източника или изтеглете аз мога двоичен от официален уебсайт на smem .

Ако искате да компилирате аз мога от източника, след това можете да изтеглите изходния код на smem от официална страница на източника на smem .

Ако искате да изтеглите a аз мога предварително компилиран двоичен файл, след което можете да го изтеглите от smem официалната страница за изтегляне .

аз мога може да показва използването на паметта на всеки потребител.

За да разберете колко памет използва потребител на Linux, стартирайте аз мога както следва:

$sudoаз мога-Вие

Тук, -да се опцията се използва, за да покаже на единицата, че аз мога използва за показване на информация за използването на паметта.

аз мога използва следните единици:

K - Кибибайт

М - Мебибайт

G - Гибибайт

T - Тебибайт

P - Пебибайт

The -да се опцията се използва за мащабиране на изходните колони в зависимост от размера на прозореца на терминала. По този начин можете да поправите изхода на аз мога много лесно, ако някой важен текст бъде изрязан.

The -u опцията се използва за показване на информация за използването на потребителската памет.

Както виждаш, аз мога докладва информацията за използването на паметта и размяната на всеки потребител на моята машина Ubuntu.

аз мога показва следната информация за използването на потребителската памет:

Потребител: Потребителското име за Linux, за което се отчита използването на паметта.

Броя: Броят на процесите, които потребителят изпълнява в момента.

Размяна: Количеството разменяно дисково пространство, което потребителят използва.

USS: Това е общият размер на уникалния набор от потребителските процеси. Това е общото количество физическа памет, която процесите, притежавани от потребителя, не се споделят с други процеси.

PSS: Това е общият размер на пропорционалния набор от потребителските процеси. Това е общото количество физическа памет и равномерно разделената споделена физическа памет, която процесите, притежавани от потребителя, използват.

RSS: Това е общият размер на постоянния набор от потребителските процеси. Това е общото количество физическа памет и споделената физическа памет, използвани от потребителя на процесите. Информация за използването на RSS памет на аз мога е същото като информацията за използването на RSS паметта на Горна част или htop .

По подразбиране, аз мога показва информация за използването на паметта във възходящ ред (от най -ниското до най -високото). Ако искате да видите информацията за използването на паметта в низходящ ред (от най -високо до най -ниско), използвайте -r опция на аз мога както следва:

$sudoаз мога-каур

Както виждаш, аз мога показва същата информация за използването на потребителската памет. Но в низходящ ред.

Ако искате да видите общата информация за използването на потребителската памет, стартирайте аз мога с -T опция, както следва:

$sudoаз могапрез

Както виждаш, аз мога добавя информацията за всички редове за всяка колона и показва общата информация за използването на паметта на всяка от колоните в края.

По подразбиране, аз мога показва информация за използването на паметта в единицата за килобайти. Ако използвате -да се опция, аз мога автоматично ще избере най -добрата единица за показване на информацията за използването на паметта.

Ако искате да покажете информацията за използването на паметта като процент от общата налична физическа памет или да размените дисковото пространство, можете да използвате -стр опция вместо -да се опция, както следва:

$sudoаз мога-пау

Както виждаш, аз мога показва информацията за използването на потребителската памет в процент от общата физическа памет и разменя дисковото пространство.

Ако искате да видите информацията за използването на паметта в цялата система или обобщената информация за използването на системната памет, стартирайте аз мога с опция, както следва:

$sudoаз мога-кав

Както виждаш, аз мога показва информация за използването на паметта в цялата система.

аз мога показва следната информация за използването на паметта в цялата система:

■ площ: Частта от системата, за която се използва паметта.

Използва се: Количеството физическа памет, използвана за тази област.

Кеш: Количеството физическа памет, използвана като кеш памет за тази област.

Без кеш: Количеството физическа памет, използвана за тази област, която не е кеширана.

По същия начин, както преди, можете да използвате -T опция за преглед на общата информация за използването на паметта в цялата система.

$sudoаз мога-предпазлив

Можете също да видите използването на паметта на процесите, работещи на вашата Linux система с аз мога .

За да направите това, бягайте аз мога както следва:

$sudoаз мога-кар

Както виждаш, аз мога показва информация за използването на паметта на всеки от процесите, работещи на моята машина Ubuntu.

аз мога показва следната информация за използването на паметта в процеса:

PID: Идент. № на процеса.

Потребител: Потребителското име на потребителя, който е стартирал процеса или притежава процеса.

Команда: Командата, която се използва за стартиране на процеса.

Размяна: Количеството разменяно дисково пространство, което процесът използва.

USS: Това е уникалният размер на процеса. Това е количеството физическа памет, която процесът използва, което не се споделя с други процеси.

PSS: Това е пропорционалният размер на процеса. Това е количеството физическа памет и равномерно разделената споделена физическа памет, която процесът използва.

RSS: Това е постоянният размер на процеса. Това е количеството физическа памет и споделената физическа памет, която процесът използва.

Можете също така да видите информацията за използването на паметта за всеки файл на библиотеката, с който се използват процесите аз мога .

За да видите информацията за използването на паметта на всеки от библиотечния файл, зареден във физическата памет на вашия компютър, стартирайте аз мога с опция, както следва:

$sudoаз мога-камр

аз мога ще покаже информацията за използването на паметта на всеки от файловете на библиотеката, заредени във физическата памет на вашия компютър, както можете да видите на екрана по -долу.

аз мога показва следната информация за използването на паметта в библиотеката:

Карта: Библиотечният файл, който е съпоставен с физическата памет на вашия компютър.

PID: Общият брой на процесите, използващи този библиотечен файл.

PSS: Това е общият размер на пропорционалния набор от процесите, използващи файла на библиотеката. Това е количеството физическа памет и равномерно разделената споделена физическа памет, която процесите (използвайки този библиотечен файл) използват.

AVGPSS: Това е средният пропорционален размер на процесите, използващи този библиотечен файл. Това е средната физическа памет, която се споделя между всеки от процесите (използвайки този библиотечен файл), които се използват. Можете също така да кажете, AVGPSS = PSS/PID (около).

Проверка на използването на паметта с помощта на vmstat:

vmstat е друга програма за проверка на използването на паметта в Linux. Той показва почти същата информация като в /proc/meminfo файл.

За да видите информация за използването на паметта, стартирайте vmstat както следва:

$vmstat

vmstat трябва да показва информация за цялата система за използване на паметта в кибибайтовото устройство, както можете да видите на екрана по-долу.

vmstat показва следната информация за използването на паметта:

обща памет: Общата налична физическа памет на вашия компютър.

използвана памет: Общата използвана физическа памет на вашия компютър.

свободна памет: Общата свободна физическа памет на вашия компютър.

обща размяна: Общото налично пространство за размяна на диска.

използвана размяна: Количеството използвано дисково пространство за размяна.

безплатна размяна: Размерът на дисковото пространство за размяна все още е свободен.

суап кеш: Количеството разменяно дисково пространство, използвано като кеш.

буферна памет: Количеството физическа памет, използвана като буфер за временно задържане на данните, докато ги премествате от едно място на друго.

активна памет: Количеството физическа памет, която се използва, но не се възстановява, ако се изисква от други програми.

неактивна памет: Количеството физическа памет, която се използва, но лесно се възстановява от други програми, ако е необходимо.

Проверка на използването на паметта с помощта на GNOME System Monitor:

GNOME System Monitor е графичен софтуер за наблюдение на използването на паметта, изпълняваните процеси и използването на диска. Той е предварително инсталиран в GNOME 3, Ubuntu MATE, Cinnamon и Budgie настолни среди.

Можете да видите паметта и да разменяте информация за използването в Ресурси раздел на Монитор на системата GNOME както можете да видите на екрана по -долу.

Той показва хубава памет в реално време и разменя графика на използване за последните 60 секунди. Можете да имате представа за това колко използване на паметта и размяната варира извънредно от тази графика.

Той ще показва общата налична физическа памет, обема на използваната физическа памет, процента на използваната физическа памет и обема на физическата памет, използвана като кеш памет. Той също така ще ви покаже хубава кръгова диаграма за използване на физическата памет.

Той също така ще покаже общото налично пространство за суап дискове, количеството използвано пространство за суап, процента от използваното количество суап пространство и хубава диаграма за използване на суап.

В Процеси раздел на Монитор на системата GNOME , можете да видите информацията за използването на паметта за всеки от процесите, изпълнявани на вашия компютър.

Ако искате да видите повече информация за използването на паметта за процесите, щракнете с десния бутон (RMB) върху заглавната лента и проверете Виртуална памет , Постоянна памет , и Споделена памет както е показано на екрана по -долу.

Информацията за използването на виртуалната (VIRT), постоянната (RES) и споделената (RSS) памет на процесите трябва да се показва, както можете да видите на екрана по -долу.

Тази информация за използването на паметта е същата като в Горна част или htop .

По подразбиране GNOME System Monitor ще показва само процесите, притежавани от потребителя за вход. Ако искате да видите списък на всички процеси, притежавани от всеки потребител на вашата система, кликнете върху менюто за хамбургер (

) и изберете Всички процеси както е показано на екрана по -долу.

Ако искате да видите процесите в изглед на дърво (връзка родител-дете), кликнете върху менюто за хамбургер (

) и проверете Показване на зависимости както е показано на екрана по -долу.

В дървовидния изглед можете да видите кой процес (родител) е започнал кои процеси (дете) в реда, в който са стартирани. Можете също да видите колко памет консумира всеки от родителските процеси и колко памет консумира всяко от дочерните процеси.

Проверка на използването на паметта с помощта на KSysGuard:

KSysGuard е графичен софтуер за наблюдение на използването на паметта и изпълняваните процеси. Той е предварително инсталиран в работната среда на KDE Plasma.

Можете да видите паметта и да разменяте информация за използването в Зареждане на системата раздел на KSysGuard както можете да видите на екрана по -долу.

В Таблица на процесите раздел на KSysGuard , можете да видите информацията за използването на паметта за всеки от процесите, изпълнявани на вашия компютър.

По подразбиране KSysGuard показва информация за физическата памет и споделената памет за всеки от работещите процеси.

Можете да щракнете с десния бутон (RMB) върху заглавната лента и да кликнете върху Показване на колона „Виртуален размер“ и Показване на колона „Обща памет“ за да видите повече информация за използването на паметта.

Както можете да видите, KSysGuard сега показва размера на виртуалната памет (VIRT) и общото използване на физическата памет за всеки от работещите процеси.

По подразбиране KSysGuard показва всички работещи процеси, притежавани от всеки потребител в Таблица на процесите раздел. Можете да промените какви процеси искате да видите от падащото меню в горния десен ъгъл на KSysGuard, както е показано на екрана по -долу.

За изглед на дърво изберете Всички процеси, дърво от падащото меню.

В дървовидния изглед можете да видите кой процес (родител) е започнал кои процеси (дете) в реда, в който са стартирани. Можете също да видите колко памет консумира всеки от родителските процеси и колко памет консумира всяко от дочерните процеси.

Ако искате да видите само процесите на системно ниво, изберете Системни процеси от падащото меню. Тези процеси обикновено са собственост на корен потребител.

Ако искате да видите процеси на ниво потребител, изберете Потребителски процеси от падащото меню. Тези процеси обикновено са собственост на обикновени потребители (без root).

Ако искате да видите само процесите, които са собственост на потребителя за вход, изберете Собствени процеси .

Ако искате да виждате само програмите, работещи на вашия компютър, а не процеси, изберете Само програми от падащото меню. Ще бъдат изброени само приложенията, изпълнявани на вашия компютър.

Заключение:

В тази статия съм обхванал най -често срещаните начини за проверка на използването на паметта в Linux. Показах как да проверявам използването на паметта на Linux системи от командния ред, както и от графични настолни среди. Обясних как се използват програми като Безплатно , Горна част , htop , аз мога , vmstat , Монитор на системата GNOME , и KSysGuard за да проверите за използване на паметта на Linux. Също така съм обсъждал изходния формат на тези команди и програми. Тази статия трябва да ви помогне да започнете с проверката на използването на паметта на Linux и да ви даде задълбочени познания за инструментите за проверка на използването на паметта на Linux.