Oversikt
noen ganger må vi kanskje sjekke om total minnestørrelse på en server som kjører Linux, eller vi må kanskje bruke minnestatistikk i skallskript. Heldigvis har vi tilgang til mange verktøy som vi kan bruke til å sjekke for totalt fysisk minne. I denne opplæringen skal vi ta forskjellige tilnærminger for å tjene det formålet ved å bruke flere nyttige kommandoer og verktøy.
2. gratis Kommando
gratis er den enkleste av alle kommandoene vi ser. Den brukes til å skrive ut fysisk og bytte minnebruk-som standard skrives den ut til standardutgang. Free command er en av de mest brukte kommandoene for å raskt sjekke RAM-statistikk fordi den er tilgjengelig på De fleste Linux-distribusjoner. Vi kan bare skrive den frie kommandoen på vår terminal uten flagg:
$ free
total used free shared buff/cache availableMem: 8021048 1320432 5689744 335556 1010872 6121932Swap: 0 0 0
som vi kan, skrives størrelsen på det fysiske minnet i byte. Vi kan imidlertid enkelt skrive ut utdataene i et lesbart format ved hjelp av-h eller –human-flagget:
$ free -h
total used free shared buff/cache availableMem: 7.6Gi 1.3Gi 5.4Gi 318Mi 985Mi 5.8GiSwap: 0B 0B 0B
Som det fremgår av utgangen ovenfor, har vi totalt 7,6 GiB RAM. Videre er det mange andre alternativer som kan brukes til å skrive ut utdataene i formatet vi liker som-kilo, – mega, – Giga, og så videre. Et mer interessant alternativ er-s-alternativet:
$ free -h -s 5
s-flagget står for sekunder, så free vil skrive UT RAM-bruken hvert 5. sekund i dette eksemplet. Det er spesielt nyttig hvis vi ønsker å overvåke RAM-bruk på et bestemt intervall. Vi kan enkelt avslutte prosessen Med Ctrl + C hurtigtast.
3. Vmstat Command
som den frie kommandoen, er vmstat (virtual memory statistics) også tilgjengelig på De fleste Linux-distribusjoner. Som standard, når vi skriver inn vmstat-kommandoen, vil den skrive ut det frie, bufrede og bufrede minnet sammen med swap, CPU, IO og systeminformasjon:
$ vmstat -w
--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 0 5352900 56816 1053708 0 0 162 73 328 1087 18 4 78 0 0
-w eller-wide-flagget skriver ut utdataene i et bredt lesbart format. Siden vi er interessert i total RAM-størrelse, skal vi legge til – s eller-stats-flagget:
$ vmstat -s
8021048 K total memory 1564516 K used memory 305336 K active memory 1962636 K inactive memory 5391588 K free memory 58224 K buffer memory 1006720 K swap cache 0 K total swap 0 K used swap 0 K free swap 76393 non-nice user cpu ticks 5 nice user cpu ticks 14122 system cpu ticks 337834 idle cpu ticks 1790 IO-wait cpu ticks 1463 IRQ cpu ticks 614 softirq cpu ticks 0 stolen cpu ticks 617253 pages paged in 310410 pages paged out 0 pages swapped in 0 pages swapped out 1426200 interrupts 4722588 CPU context switches 1625563254 boot time 1949 forks
den første oppføringen i utgangen er total fysisk RAM. Noen ganger trenger vi ikke all info, så vi kan bruke grep til å trekke ut bare ønsket oppføring:
$ vmstat -s | grep -i 'total memory' | sed 's/ *//'
8021048 K total memory
4. topp Kommando
topp er i utgangspunktet en kommandolinjeoppgavebehandling med sanntidsutgang. Det brukes til å sjekke de løpende prosessene i et rent tabelloppsett. Det viser oss OGSÅ CPU, RAM og systeminformasjon generelt. Vi kan fyre den opp ved å kjøre den øverste kommandoen:
$ top
top - 15:18:13 up 57 min, 1 user, load average: 3.40, 3.26, 2.04Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie%Cpu(s): 17.2 us, 3.6 sy, 0.0 ni, 77.5 id, 0.3 wa, 0.9 hi, 0.5 si, 0.0 stMiB Mem : 7833.1 total, 4665.9 free, 1782.3 used, 1384.8 buff/cachetop - 15:18:49 up 57 min, 1 user, load average: 2.61, 3.08, 2.03Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombietop - 15:18:58 up 58 min, 1 user, load average: 2.45, 3.02, 2.02MiB Swap: 0.0 total, 0.0 free, 0.0 used. 5324.5 avail Mem
på toppen kan vi se minneinformasjonen ved Siden Av Mem-feltet og observere at vi har totalt 7833 MiB av totalt RAM.
5. dmidecode Utility
dmidecode er et hjelpeverktøy som skriver ut informasjon om maskinvarekomponenter – for eksempel maskinvarespesifikasjoner, serienumre og BIOS-versjoner – i et lesbart format. Maskinvareinformasjonen er hentet fra dmi-tabellen. Vi kan også bruke den til å finne interessant informasjon om systemet vårt, for eksempel maksimalt støttet minne.
5.1. Installere dmidecode
dmidecode er ikke installert på Noen Linux-distribusjoner som standard, så vi skal installere den først. Vi kan installere dmidecode direkte fra vår distribusjon depotet ved hjelp av en pakkebehandling.
For Ubuntu-baserte distribusjoner kan vi installere pakken gjennom apt:
# apt install dmidecode
FOR RHEL, Fedora og CentOS kan vi bruke yum:
# yum install dmidecode
På Arch-baserte distribusjoner, bare bruke pacman:
# pacman -Sy dmidecode
5.2. Ved hjelp av dmidecode
når installasjonen Er fullført, kan vi kjøre dmidecode-kommandoen fra vår terminal:
# dmidecode
vi må ha root privilegier for å kjøre dmidecode. Når vi kjører kommandoen, kan vi se detaljert maskinvareinformasjon. Den inneholder mye informasjon relatert til våre maskinvarekomponenter, men vi er bare interessert i vår totale minnestørrelse.
Heldigvis kan vi mate alternativet –type til kommandoen for forskjellige komponenter som BIOS, minne, prosessor, temperaturer og så videre. Alternativet-type forventer et tall FOR DMI-typer.
i vårt tilfelle vil vi se på minnet DMI-typen, som kan nås med de tildelte tallene 5, 6, 16, 17, 18, 19, 20, 21, og 22. Vi er imidlertid interessert i nummer 19, som vil skrive UT RAM-enhetene som for øyeblikket er festet til sporene på hovedkortet vårt:
# dmidecode --type 19
# dmidecode 3.3Getting SMBIOS data from sysfs.SMBIOS 3.0.0 present.Handle 0x0049, DMI type 19, 31 bytesMemory Array Mapped AddressStarting Address: 0x00000000000Ending Address: 0x001FFFFFFFFRange Size: 8 GBPhysical Array Handle: 0x0044Partition Width: 1
Som vi ser, har vi bare en ENKELT RAM-enhet med 8 GB total størrelse installert i EN AV RAM-sporene.
6. /proc / meminfo Virtual File
/ proc katalogen er en spesiell type katalog som inneholder virtuelle filer. Disse virtuelle filene er en måte å ta en titt På Linux-kjernen, prosessene og konfigurasjonene. Disse filene finnes faktisk ikke på disken og tar ikke plass, men de opprettes når de leses. Tilgang til noen av filene krever root-tilgang.
det er en spesiell virtuell fil som heter meminfo, inne i /proc-katalogen, som kan leses med kommandoer som cat og mindre. Meminfo-filen inneholder informasjon om vår fysiske minnestørrelse blant annet nyttig informasjon. La oss lese/proc / meminfo-filen ved hjelp av cat:
$ cat /proc/meminfo
i eksemplet ovenfor har vi brukt cat-kommandoen, som er et nyttig verktøy som kan lese fra en fil eller standardinngang. Når kommandoen er utført, vil den lese / proc / meminfo og presentere oss med en lang utgang angående vårt fysiske minne. Vi er bare interessert i den totale RAM-størrelsen, som vises i de tre øverste linjene i utgangen:
$ cat /proc/meminfo | head -n 3
MemTotal: 8021048 kBMemFree: 4542960 kBMemAvailable: 5155668 kB
vi skrev bare ut linjene som vi er interessert i ved hjelp av hovedkommandoen. – N-argumentet som er gitt til hovedkommandoen, brukes til å angi antall linjer som skal leses. Størrelsene er trykt i kilobyte og bør gi oss en ide om hva vårt totale, frie og tilgjengelige fysiske minne er.
la oss anta at vi skriver Et Bash-skript der vi må behandle den fysiske RAM-størrelsen. Vi kan oppnå det ved å lese /proc / meminfo-filen først og deretter gripe den totale minnestørrelsen:
#!/bin/bashtotal_ram () { local totalram=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o ']*') echo $totalram}ram_size=$(total_ram)echo "Total RAM: $ram_size kB"
nå, la oss lagre skriptet og gjøre det kjørbart:
$ chmod +755 totalram.sh$ ./totalram.shTotal RAM: 8021048 kB
Bruke GUI Task Managers
Det finnes en rekke GUI task managers som vi kan bruke til å sjekke FOR CPU, RAM og nettverksbruk i tillegg til å administrere prosesser. La oss ta en rask titt på De mest populære For Linux.
7.1. GNOME System Monitor
GNOME System Monitor er standard oppgavebehandling som leveres med GNOME-skrivebordsmiljøet. Men hvis vi kjører et annet skrivebordsmiljø, kan vi enkelt se etter gnome-system-monitor-pakken på distribusjonspakken vår. Når den er installert, kan vi starte den fra kommandolinjen:
$ gnome-system-monitor
ved å navigere til Kategorien Ressurser, kan vi se vår totale minnestørrelse blant andre statistikker.
7.2. KSysGuard
KSysGuard er standard oppgavebehandling utviklet AV kde samfunnet og kommer med KDE som standard. På samme måte, hvis vi bruker et annet skrivebordsmiljø, kan vi enkelt installere det på systemet vårt ved å se etter ksysguard-pakken i pakkelageret. Vi kan starte den med ksysguard-kommandoen når den er installert:
$ ksysguard
Når ksysguard starter, kan vi gå til Systembelastningsfanen og se vår minneinformasjon sammen med en fin graf.
Konklusjon
i denne artikkelen så vi på forskjellige kommandoer og verktøy som kan hjelpe oss med å finne ut den fysiske minnestørrelsen på Vårt Linux-system.
vi dekket minimal free-kommandoen og dens alternative vmstat-kommando. Da brukte vi toppkommandoen for å finne ut ulike systeminformasjon. Vi så også på dmidecode-verktøyet og hvordan vi kan trekke ut den fysiske minneinformasjonen fra dmi-tabellen.
Etterpå lærte Vi hva / proc-katalogen er og hvordan vi kan lese/proc / meminfo-filen for å se etter total RAM-størrelse og bruke den i et bash-skript. Til slutt lærte vi om et par grafiske oppgaveledere og hvordan vi kan bruke dem til å sjekke OM RAM-bruk og statistikk.
Hvis Du har noen års erfaring I Linux-økosystemet, og du er interessert i å dele den erfaringen med samfunnet, ta en titt på Våre Retningslinjer For Bidrag.