Atmiņa

Komandas, lai pārvaldītu Linux atmiņu

Komandas, lai pārvaldītu Linux atmiņu
UNIX / Linux sistēmās ir komandrindas rīks gandrīz visam. Tas ietver arī programmas atmiņas apstrādei. Šajā rakstā mēs parādīsim komandu izvēli, kas jums kā Linux lietotājam ir ļoti noderīga.

Atklājiet aparatūru, izmantojot dmidecode

Automātiska aparatūras noteikšana vienmēr ir bijusi mazliet līdzīga loterijai, taču pēdējos gados tā uzlabojās, jo daudzi ražotāji detalizētāk dokumentē savus produktus un arī tiešsaistē ir pieejama īpaša informācija. Lai uzzinātu vairāk par aparatūras informāciju par jūsu datorā instalēto RAM, izmantojiet dmidekods komanda (pakete Debian GNU / Linux, Ubuntu un Linux Mint: dmidecode).

Papildus citai informācijai šis rīks sniedz detalizētus datus par instalētajiem sistēmas komponentiem, piemēram, procesoru, pamatplati un RAM. Informācija ir balstīta uz darbvirsmas pārvaldības saskarni (DMI) [1], kas ir ietvars, kas klasificē atsevišķus darbvirsmas, piezīmjdatora vai servera komponentus, abstrahējot šos komponentus no programmatūras, kas tos pārvalda [2]. Variants --tipa atmiņa attiecas uz atmiņas ierīcēm. Pārējām DMI klasēm apskatiet dmidekods.

# dmidecode - tipa atmiņa
# dmidecode 2.12
SMBIOS 2.7 klāt.
Rokturis 0x0007, DMI tips 16, 23 baiti
Fiziskās atmiņas masīvs
Atrašanās vieta: Sistēmas plate vai mātesplatē
Izmantošana: sistēmas atmiņa
Kļūdu labošanas veids: nav
Maksimālā ietilpība: 16 GB
Kļūdu informācijas rokturis: nav norādīts
Ierīču skaits: 1
Rokturis 0x0008, DMI tips 17, 34 baiti
Atmiņas ierīce
Masīva rokturis: 0x0007
Kļūdu informācijas rokturis: nav norādīts
Kopējais platums: 64 biti
Datu platums: 64 biti
Izmērs: 8192 MB
Formas faktors: SODIMM
Komplekts: nav
Lokators: ChannelA-DIMM0
Bankas meklētājs: BANKA 0
Tips: DDR3
Tips Detail: Sinhronais
Ātrums: 1600 MHz
Ražotājs: Samsung
Sērijas numurs: 25252105
Aktīvu atzīme: nav
Daļas numurs: M471B1G73DB0-YK0
Rangs: nezināms
Konfigurēts pulksteņa ātrums: 1600 MHz

Šī mašīna pašlaik ir aprīkota ar 8G DDR3 RAM ar konfigurētu pulksteņa ātrumu 1600 MHz. Kā redzat, borta RAM maksimālā pieejamā ietilpība ir 16G, kas nozīmē, ka to var pagarināt ar otru 8G moduli.

Grafiska informācija par atmiņu

Ja vēlaties iegūt grafisku interfeisu, lai iegūtu šo informāciju, rīki Hardinfo [3] un Hardware Lister (GTK + versija) [4] varētu jūs interesēt. Debian GNU / Linux, Ubuntu un Linux Mint šīs programmas ir pieejamas, izmantojot paketes hardinfo un lshw-gtk. 2. attēlā parādīts Hardinfo lietotāja interfeiss, kas parāda atmiņas informāciju Xubuntu instalācijā.

Cik daudz atmiņas pašlaik ir pieejams

Dažreiz mazāk ir vairāk. Komandrindā informācija par atmiņu ir pieejama, izmantojot bez maksas komandu. Debian GNU / Linux, Ubuntu un Linux Mint šī programma ir daļa no procps paketes [5]. 2. attēlā parādīta izeja termināla logā.

Kā turpmāko iespēju izvēle, bez maksas pieņem dažādus parametrus, piemēram:

3. attēlā izeja tiek parādīta megabaitos, izmantojot opciju -m. Sistēmā ir 4G operatīvā atmiņa, bet pašlaik tiek izmantoti 725 miljoni.

Atmiņas informācija no Linux kodola viedokļa

Iepriekš minētie rīki balstās uz neapstrādātu informāciju, kas tiek glabāta Linux kodola proc failu sistēmā. Lai parādītu šo informāciju, izvadiet faila saturu / proc / meminfo izmantojot kaķis lietderība terminālā:

$ cat / proc / meminfo
MemTotal: 7888704 kB
MemFree: 302852 kB
Pieejams: 448824 kB
Buferi: 17828 kB
Kešatmiņā: 326104 kB
Apmainīt kešatmiņu: 69592 kB
Aktīvs: 2497184 kB
Neaktīvs: 650912 kB
Aktīvs (anons): 2338748 kB
Neaktīvs (anons): 525316 kB
Aktīvs (fails): 158436 kB
Neaktīvs (fails): 125596 kB
Nenovēršams: 64 kB
Bloķēts: 64 kB
SwapTotal: 16150524 kB
SwapFree: 15668480 kB
Netīrs: 3008 kB
Norakstīšana: 0 kB
AnonPages: 2774656 kB
Kartēts: 4414752 kB
Šmems: 59900 kB
Plātne: 130216 kB
Pieprasāms: 61748 kB
Nepieprasiet: 68468 kB
Kodola kaudze: 7328 kB
Lappušu tabulas: 42844 kB
NFS_ nestabils: 0 kB
Atlēciens: 0 kB
WritebackTmp: 0 kB
CommitLimit: 20094876 kB
Apņemšanās_AS: 10344988 kB
VmallocKopējais: 34359738367 kB
Izmantots: 367296 kB
VmallocChunk: 34359345768 kB
Aparatūra sabojāta: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Liels lapas izmērs: 2048 kB
DirectMap4k: 78448 kB
DirectMap2M: 2756608 kB
DirectMap1G: 5242880 kB
$

Lai iegūtu plašāku statistikas informāciju par procesora lietošanu, atmiņu un procesiem, iespējams, apskatīsit rīkus vmstat, un iostat (Debian paketes procps un sysstat).

Darbs ar procesiem - ps, htop un pstree

Lai parādītu Linux sistēmas aktīvos procesus, izmantojiet ps komandu. Parasti produkcija tiek sakārtota alfabētiskā secībā. Bet ps komanda var paveikt daudz vairāk. Izmantojot opcijas aux --kārtot -rss procesu saraksta iznākums tiek sakārtots pēc to atmiņas izmantošanas no augšas uz leju. 4. attēlā parādīti procesi, kuriem ir vislielākais atmiņas pieprasījums. Izeja ir sakārtota pēc 6. kolonnas ar nosaukumu RSS, kas saīsina Resident Set Size. Vērtība ir norādīta kilobaitos.

Komandas ps, pstree un htop ir cieši saistīti ar informāciju, ko šie rīki parāda. Abi pstree un htop parādīt diagrammu, lai vizualizētu procesa atkarības. htop darbojas kā interaktīva versija, kas ļauj ritināt procesu sarakstu uz augšu un uz leju. 5. attēlā parādīts htop darbvirsmas sistēmā ar procesu atlasi, kas sakārtota pēc to īpašā atmiņas izmantojuma (5. kolonna).

Procesu atrašana, kas izmanto mijmaiņas atmiņu

Jo vairāk procesi tiek palaisti, jo vairāk atmiņas tiek lietotas vienlaikus. Tiklīdz jūsu Linux sistēmā beigušās neizmantotās atmiņas lapas, Linux kodols nolemj atmiņas lapas nomainīt uz disku, izmantojot metodi Vismazāk izmantotā (LRU). Lai atbildētu uz jautājumu, kuri procesi izmanto mijmaiņas atmiņu un cik daudz tiek izmantots konkrēti, iespējams, apskatīsit populārākās programmas izvadi. Eriks Ljungstroms 2016. gadā publicēja īsu aprakstu par to, kā iegūt šo informāciju un paplašināt šo kolonnu līdz augšdaļas izvadam [6]. 6. attēlā parādīta šī izeja sistēmā, kurā RAM atmiņā ir palicis daudz atmiņas lapu un kurā pašlaik netiek izmantota mijmaiņa.

Turklāt 2011. gadā viņš jau publicēja bash skriptu, kas novērtē informāciju no proc failu sistēmas, lai parādītu mijmaiņas procesa izmantošanu katrā procesā [7]. Pat 7 gadus vēlāk un jau aprakstīts kā novecojis, skripts joprojām ir lielisks un parāda, kā automatizēt uzdevumus Linux sistēmā. Tāpēc mēs esam pārliecināti, ka ir noderīgi to vēlreiz parādīt šeit.

Skripta izvade ir šāda (palaidiet kā sakne lietotājs iegūst visus datus):

# ./ apmainīt.sh
PID = 1 - izmantotais mijmaiņas veids: 0 - (systemd)
PID = 2 - izmantotais mijmaiņas veids: 0 - (kthreadd)
PID = 3 - izmantotais mijmaiņas veids: 0 - (ksoftirqd / 0)
PID = 5 - izmantotais mijmaiņas veids: 0 - (kworker / 0: 0H)
PID = 6 - izmantotais mijmaiņas veids: 0 - (kworker / u16: 0)
PID = 7 - izmantotais mijmaiņas veids: 0 - (rcu_sched)
PID = 8 - Izmantotais mijmaiņas veids: 0 - (rcu_bh)
PID = 9 - izmantotais mijmaiņas veids: 0 - (migrācija / 0)
PID = 10 - Izmantotais maiņas veids: 0 - (sargsuns / 0)
PID = 11 - Izmantotais maiņas veids: 0 - (sargsuns / 1)
PID = 12 - izmantotais mijmaiņas veids: 0 - (migrācija / 1)
PID = 13 - izmantotais mijmaiņas veids: 0 - (ksoftirqd / 1)
PID = 15 - Izmantotais mijmaiņas veids: 0 - (kworker / 1: 0H)
PID = 16 - Izmantotais maiņas veids: 0 - (sargsuns / 2)
PID = 17 - izmantotais mijmaiņas veids: 0 - (migrācija / 2)
PID = 18 - Izmantotais mijmaiņas veids: 0 - (ksoftirqd / 2)
PID = 20 - izmantotais mijmaiņas veids: 0 - (kworker / 2: 0H)

#

Secinājums

Linux rīkjoslā ir bezgalīgs pieejamo programmu saraksts, kas palīdzēs analizēt Linux sistēmas atmiņas lietojumu. Mums tikko bija īsi apskatīts - no neapstrādātiem datiem līdz iepriekš apstrādātai informācijai - tas viss ir tur. Vienkārši zināt savus rīkus. Lai iepazītos ar viņiem, aizņemiet mazliet laika un spēlējiet ar viņiem.

Šī ir Linux kodola atmiņas pārvaldības sērijas 2. daļa.  1. daļā ir apspriesta Swap Memory, šīs sērijas trešajā daļā mēs apspriedīsim, kā optimizēt atmiņas izmantošanu. Tas ietvers gan ramdisku, gan saspiestu mijmaiņas failu pārvaldību.

Saites un atsauces

Linux atmiņas pārvaldības sērija

Pateicības

Autore vēlas pateikties Mandy Neumeyer un Gerold Rupprecht par atbalstu, sagatavojot šo rakstu.

Kā nomainīt peles kreiso un labo pogu operētājsistēmā Windows 10
Tas ir diezgan normāli, ka visas datora peles ierīces ir ergonomiski izstrādātas lietotājiem ar labo roku. Bet ir pieejamas peles ierīces, kas ir īpaš...
Atdariniet peles klikšķus, virzot kursoru, izmantojot operētājsistēmā Windows 10 bezklikšķu peli
Peles vai tastatūras lietošana nepareizā pozā, ja to lieto pārmērīgi daudz, var izraisīt daudz veselības problēmu, tostarp spriedzi, karpālā kanāla si...
Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...