Visualiseer geheugen Gebruik op Linux met Smem
Een systeem dat te weinig fysiek geheugen (RAM) heeft, loopt aanzienlijk langzamer, omdat processen worden verplaatst tussen het RAM en swap. Als een Linux-systeem langzaam begint te werken, is een van de eerste probleemoplossingstaken het vrijmaken van fysiek geheugen.
Er zijn meerdere tools beschikbaar om het geheugengebruik op een Linux-systeem, inclusief top, te controleren, waarover we hebben gesproken. Smem is een ander hulpmiddel dat wordt gebruikt voor het controleren van geheugengebruik. Naast het weergeven van het geheugengebruik van processen op de opdrachtregel, kan smem ook een met kleur gecodeerde taart- en / of staafdiagram weergeven. Met smem kun je eenvoudig het geheugengebruik op je Linux-systeem visualiseren.
Installatie
Op Debian- en Ubuntu-systemen kan smem vanuit de repositories met het commando worden geïnstalleerd
sudo apt-get install smem
Controleer het geheugengebruik
Als smem wordt uitgevoerd als een onbevoegde gebruiker, wordt het geheugen weergegeven dat wordt gebruikt door alle processen die met de huidige gebruikers-ID zijn gestart en die door PSS zijn gerangschikt van minst naar de meesten.
SMEM
Standaard zijn er zeven kolommen, de proces-ID, de gebruikersnaam, de opdracht die wordt gebruikt om het proces te starten, de hoeveelheid swapruimte die aan het proces is toegewezen en USS, PSS en RSS.
RSS
RSS (Resident-setgrootte) is het totale geheugen dat in een RAM-geheugen wordt bewaard voor een proces. Dit omvat het geheugen toegewezen aan gedeelde bibliotheken die door het proces worden gebruikt, hoewel gedeelde bibliotheken kunnen worden gebruikt door meerdere processen, terwijl ze slechts eenmaal in het geheugen worden geladen. RSS is daarom geen nauwkeurige weergave van het geheugen dat door een bepaald proces wordt gebruikt.
PSS
PSS (Proportionele setgrootte) deelt daarentegen het geheugen dat is toegewezen aan een gedeelde bibliotheek over de processen die het gebruiken. Als drie processen een gedeelde bibliotheek met zestig pagina's gebruiken, draagt de bibliotheek dus twintig pagina's bij aan de PSS van elk van de processen. De totale PSS is meestal ongeveer gelijk aan de totale RAM van het systeem. Wanneer een proces dat een bibliotheek deelt echter wordt gedood, is de PSS die voor het proces is gerapporteerd niet gelijk aan het totale geheugen dat is vrijgegeven.
USS
USS (Unieke setgrootte) verwijst naar het totale unieke geheugen voor een proces. Dit omvat niet het geheugen van gedeelde bibliotheken. Wanneer een proces wordt gedood, verwijst de USS naar het werkelijke geheugen dat zou worden vrijgegeven. Als gevolg hiervan is de USS de waarde om te bekijken als u vermoedt dat een proces een geheugenlek heeft.
Als u smem als root uitvoert, worden alle processen voor alle gebruikers op het systeem weergegeven.
sudo smem
Visualiseer het gebruik van het geheugen
Een gevisualiseerd rapport is vrijwel zeker gemakkelijker te lezen dan op tekst gebaseerde resultaten. Met Smem kunt u het geheugengebruik bekijken als een cirkeldiagram of een staafdiagram.
Om een staafdiagram voor PSS, USS en RSS van de processen van de huidige gebruiker te bekijken, voert u de volgende opdracht uit:
smem --bar naam -c "pss uss rss"
Bedenk dat de PSS een nauwere weergave is van het totale geheugen dat beschikbaar is op het systeem. Om een cirkeldiagram hiervan te bekijken, gebruikt u de volgende opdracht:
smem --pie naam
Om een cirkeldiagram van RSS te bekijken, gelabeld op naam:
smem --pie name -s rss
Met smem kunt u gemakkelijk het geheugen bekijken dat wordt gebruikt door toepassingen en processen op uw systeem, met behulp van een handig cirkeldiagram met kleurencodes of een staafdiagram. Zoals algemeen wordt gezegd, is een foto meer dan duizend woorden waard. Het lijkt erop dat de smem-ontwikkelaars het daarmee eens zijn.