när felsökning av system eller programavmattning eller dåligt beteende är en av de första sakerna att kontrollera systemminneanvändningen.
den här artikeln förklarar hur man kontrollerar RAM-användning i Linux med flera olika kommandon.
gratis kommando #
free
är det vanligaste kommandot för att kontrollera minnesanvändningen för ett Linux-system. Den visar information om det totala, använda och fria minnet.
generellt,free
åberopas med-h
alternativ som betyder skriva ut utdata i läsbart format:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
Här är vad varje kolumn betyder:
- total-den totala mängden minne som kan användas av applikationerna.
- använt minne. Det beräknas som:
used = total - free - buffers - cache
- gratis – Gratis / oanvänt minne.
- delad-denna kolumn kan ignoreras; den visas endast för bakåtkompatibilitet.
- buff / cache – det kombinerade minnet som används av kärnbuffertarna och sidcachen och plattorna. Detta minne kan återvinnas när som helst om det behövs av applikationerna.
- tillgängligt – en uppskattning av minnet som är tillgängligt för att starta nya applikationer, utan att byta.
kommandotfree
skriver ut information för det fysiska minnet och systembytet.
Toppkommando #
top
är ett kommandoradsverktyg som visar realtidsinformation om de processer som körs. Det visar också systemöversikten, inklusive minnesanvändning.
för att åberopa kommandot skriver du bara top
:
free -h
utgången kommer att se ut så här:
utmatningens rubrik innehåller information om systemets totala, fria och använda fysiska och bytesminne.
kolumnen%MEM
innehåller information om den använda delen av det tillgängliga fysiska minnet för varje pågående process.
/ proc/meminfo #
det enklaste sättet att kontrollera RAM-minnesanvändningen är att visa innehållet i /proc/meminfo
virtuell fil. Den här filen används avfree
top
ps
och andra systeminformationskommandon.
använd less
eller cat
för att visa innehållet i /proc/meminfo
fil:
cat /proc/meminfo
filen innehåller en stor mängd information om systemminne och swap användning:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
informationen från/proc/meminfo
filen kan analyseras och användas i skalskript.
Ps_mem Script #
ps_mem
är ett Python-skript som rapporterar RAM-minnesanvändning per program. Det fungerar med både Python 2 och 3 och kan installeras med pip
:
sudo pip3 install ps_mem
Running ps_mem
kräver administratörsbehörighet:
sudo ps_mem
utgången kommer att innehålla minnesanvändningen för varje program som körs i stigande ordning:
Private + Shared = RAM usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
det här skriptet är användbart när du vill ta reda på vilket program som körs tar det mesta av ditt systemminne.
slutsats #
Vi har visat dig flera kommandon som du kan använda för att kontrollera systemminneanvändningen.