áttekintés

néha előfordulhat, hogy ellenőriznünk kell a teljes memória méretét egy Linuxot futtató kiszolgálón, vagy szükség lehet a memória statisztikák használatára shell szkriptekben. Szerencsére számos eszközhöz férhetünk hozzá, amelyekkel ellenőrizhetjük a teljes fizikai memóriát. Ebben az oktatóanyagban különböző megközelítéseket fogunk alkalmazni, hogy ezt a célt szolgáljuk számos hasznos parancs és eszköz használatával.

2. free Command

free a legegyszerűbb az összes parancs látni fogjuk. A fizikai és a swap memóriahasználat nyomtatására szolgál-alapértelmezés szerint szabványos kimenetre nyomtat. Az ingyenes parancs az egyik széles körben használt parancs a RAM statisztikák gyors ellenőrzésére, mert a legtöbb Linux disztribúción elérhető. Egyszerűen beírhatjuk az ingyenes parancsot a terminálunkra zászlók nélkül:

$ free
 total used free shared buff/cache availableMem: 8021048 1320432 5689744 335556 1010872 6121932Swap: 0 0 0

mint tudjuk, a fizikai memória mérete bájtban van kinyomtatva. A kimenetet azonban könnyen kinyomtathatjuk ember által olvasható formátumban a-h vagy-human zászló segítségével:

$ free -h
 total used free shared buff/cache availableMem: 7.6Gi 1.3Gi 5.4Gi 318Mi 985Mi 5.8GiSwap: 0B 0B 0B

amint az a fenti kimeneten látható, összesen 7, 6 GiB RAM van. Sőt, sok más lehetőség is használható a kimenet kinyomtatására a kívánt formátumban –például-kilo, –mega, – Giga stb. Még egy érdekes lehetőség az-S opció:

$ free -h -s 5

a-s zászló másodperceket jelent, így a free ebben a példában 5 másodpercenként kinyomtatja a RAM használatát. Ez különösen akkor hasznos, ha azt akarjuk, hogy figyelemmel kíséri a RAM használat egy meghatározott időközönként. A Ctrl + C billentyűparancs segítségével könnyen leállíthatjuk a folyamatot.

3. vmstat parancs

az ingyenes parancshoz hasonlóan a vmstat (virtuális memória statisztika) is elérhető a legtöbb Linux disztribúción. Alapértelmezés szerint, amikor beírjuk a vmstat parancsot, a szabad, pufferelt és gyorsítótárazott memóriát nyomtatja a swap, CPU, IO és Rendszerinformációk mellett:

$ 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

A –w vagy-wide jelző széles körben olvasható formátumban nyomtatja ki a kimenetet. Mivel érdekel a teljes RAM méret, hozzá fogjuk adni az-s vagy-stats zászlót:

$ 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

a kimenet első bejegyzése a teljes fizikai RAM. Néha nincs szükségünk az összes információra, így a grep segítségével csak a kívánt bejegyzést tudjuk kibontani:

$ vmstat -s | grep -i 'total memory' | sed 's/ *//'
8021048 K total memory

4. top Command

top alapvetően egy parancssori Feladatkezelő valós idejű kimenettel. A futó folyamatok tiszta táblázatelrendezésben történő ellenőrzésére szolgál. Megmutatja nekünk a CPU-t, a RAM-ot és általában a rendszerinformációkat is. Mi lehet tűz fel egyszerűen fut a felső parancs:

$ 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

a tetején a MEM mező mellett láthatjuk a memória információkat, és megfigyeljük, hogy összesen 7833 MiB teljes RAM van.

5. dmidecode Utility

a dmidecode egy segítő eszköz, amely a hardverösszetevőkről – például a hardver specifikációiról, a sorozatszámokról és a BIOS – verziókról-információkat nyomtat ember által olvasható formátumban. A hardverinformációkat a DMI táblázatból nyerik ki. Arra is felhasználhatjuk, hogy érdekes információkat találjunk a rendszerünkről, például a maximálisan támogatott memóriát.

5.1. A dmidecode telepítése

a dmidecode alapértelmezés szerint nincs telepítve néhány Linux disztribúcióra, ezért először telepíteni fogjuk. A dmidecode-ot közvetlenül a disztribúciós adattárunkból telepíthetjük egy csomagkezelő segítségével.

Ubuntu-alapú disztribúciók esetén az apt segítségével telepíthetjük a csomagot:

# apt install dmidecode

RHEL, Fedora és CentOS esetében használhatjuk a yum-ot:

# yum install dmidecode

Arch-alapú disztribúciókon egyszerűen használja a pacman-t:

# pacman -Sy dmidecode

5.2. A dmidecode

használatával a telepítés befejezése után futtathatjuk a dmidecode parancsot a terminálunkról:

# dmidecode

a dmidecode futtatásához root jogosultságokra van szükségünk. A parancs futtatása után részletes hardverinformációkat láthatunk. Sok információt tartalmaz a hardverkomponenseinkkel kapcsolatban, de csak a teljes memória mérete érdekel.

szerencsére a –type opciót a különböző összetevők, például a BIOS, a memória, a processzor, a hőmérséklet stb. A-type opció számot vár a DMI típusokhoz.

esetünkben meg akarjuk nézni a memória DMI típusát, amely a hozzárendelt számokkal érhető el 5, 6, 16, 17, 18, 19, 20, 21, és 22. Érdekel azonban a 19-es szám, amely kinyomtatja azokat a RAM-eszközöket, amelyek jelenleg az alaplapunkon lévő nyílásokhoz vannak csatlakoztatva:

# 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

mint láthatjuk, csak egyetlen RAM-eszközünk van, amelynek teljes mérete 8 GB, az egyik RAM-nyílásba telepítve.

6. /proc / meminfo virtuális fájl

a / proc könyvtár egy speciális típusú könyvtár, amely virtuális fájlokat tartalmaz. Ezek a virtuális fájlok egy módja annak, hogy bepillantást nyerjünk a Linux kernelbe, a folyamatokba és a konfigurációkba. Ezek a fájlok valójában nem léteznek a lemezen, és nem foglalnak helyet, de olvasáskor jönnek létre. Néhány fájlhoz való hozzáférés root hozzáférést igényel.

van egy meminfo nevű speciális virtuális fájl a /proc könyvtárban, amely olyan parancsokkal olvasható, mint a cat vagy a less. A meminfo fájl egyéb hasznos információk mellett információkat tartalmaz a fizikai memória méretéről. Olvassuk el a/proc / meminfo fájlt a cat használatával:

$ cat /proc/meminfo

a fenti példában a cat parancsot használtuk, amely egy hasznos segédprogram, amely fájlból vagy szabványos bemenetből tud olvasni. Miután a parancs végrehajtásra került, a /proc/meminfo-t fogja olvasni, és egy hosszú kimenetet jelenít meg a fizikai memóriánkról. Csak a teljes RAM méret érdekel, amely a kimenet első három sorában jelenik meg:

$ cat /proc/meminfo | head -n 3
MemTotal: 8021048 kBMemFree: 4542960 kBMemAvailable: 5155668 kB

a head paranccsal csak azokat a sorokat nyomtattuk ki, amelyek érdekelnek. A head parancshoz megadott-n argumentum az olvasandó sorok számának megadására szolgál. A méretek kilobájtban vannak kinyomtatva, és képet adhatnak arról, hogy mi a teljes, szabad és elérhető fizikai memóriánk.

tegyük fel, hogy egy Bash szkriptet írunk, ahol fel kell dolgoznunk a fizikai RAM méretét. Ezt úgy érhetjük el, hogy először elolvassuk a / proc / meminfo fájlt, majd grepeljük a teljes memória méretét:

#!/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"

most mentsük el a szkriptet, és tegyük végrehajthatóvá:

$ chmod +755 totalram.sh$ ./totalram.shTotal RAM: 8021048 kB

GUI feladatkezelők használata

számos GUI Feladatkezelő létezik, amelyek segítségével a folyamatok kezelése mellett ellenőrizhetjük a CPU-t, a RAM-ot és a hálózati használatot. Vessünk egy gyors pillantást a legnépszerűbbekre a Linux számára.

7.1. GNOME System Monitor

a GNOME System Monitor Az alapértelmezett feladatkezelő, amely a GNOME asztali környezetével szállít. Ha azonban más asztali környezetet futtatunk, akkor könnyen megkereshetjük a gnome-system-monitor csomagot a disztribúciós csomagtárunkban. A telepítés után elindíthatjuk a parancssorból:

$ gnome-system-monitor

az erőforrások fülre navigálva láthatjuk a teljes memória méretét a többi statisztika között.

7.2. KSysGuard

a KSysGuard a KDE közösség által kifejlesztett alapértelmezett feladatkezelő, amely alapértelmezés szerint a KDE-vel érkezik. Hasonlóképpen, ha más asztali környezetet használunk, akkor könnyen telepíthetjük a rendszerünkre, ha megkeressük a ksysguard csomagot a csomagtárolóban. A telepítés után elindíthatjuk a ksysguard paranccsal:

$ ksysguard

amint a ksysguard elindul, elindulhatunk a rendszer betöltése fülre, és megtekinthetjük a memóriainformációkat egy szép grafikonnal együtt.

következtetés

ebben a cikkben különböző parancsokat és eszközöket vizsgáltunk meg, amelyek segíthetnek megtudni a Linux rendszer fizikai memória méretét.

a minimal free paranccsal és annak alternatív vmstat parancsával foglalkoztunk. Ezután a felső parancsot használtuk a különféle Rendszerinformációk megismerésére. Megnéztük a dmidecode segédprogramot is, és hogyan tudjuk kivonni a fizikai memória adatait a DMI táblából.

ezután megtudtuk, mi a /proc könyvtár, és hogyan olvashatjuk a /proc/meminfo fájlt, hogy ellenőrizzük a teljes RAM méretét, és használjuk azt egy bash szkriptben. Végül megtudtunk néhány grafikus Feladatkezelőt, és hogyan használhatjuk őket a RAM-használat és a statisztikák ellenőrzésére.

ha van néhány éves tapasztalata a Linux ökoszisztémában, és érdekli, hogy megossza ezt a tapasztalatot a közösséggel, nézze meg a hozzájárulási irányelveinket.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.