Situatie
Fiecare bucată de cod care rulează în computerul dumneavoastră Linux are nevoie de RAM și cicluri CPU. Un proces care ia mai mult decât cota echitabilă încetinește alte procese.
Solutie
Ciclurile RAM și CPU sunt resurse finite. Când codul unui program este executat, se formează un proces. Alături de procesele sistemului de operare, există procesele care rulează mediul desktop și orice comenzi sau aplicații pe care le lansați. Toate necesită timp CPU și RAM.
Linux și procesorul trebuie să gestioneze alocarea RAM și să echilibreze și să programeze volumul de lucru al procesorului între nuclee și fire de execuție, pentru a se asigura că toate procesele primesc o partajare.
Aplicațiile ar trebui să fie scrise pentru a vă asigura că nu vă monopolizează mașina, dar uneori lucrurile merg prost, iar procesele pot încerca să vă controleze toată memoria RAM și să vă monopolizeze procesorul.Atunci trebuie să fii capabil să identifici procesul pistei.
Investigarea utilizării mari a RAM
Linux folosește RAM liberă ca cache. Deși ar putea părea că toată memoria RAM este în uz, aceasta este probabil o impresie falsă. Dacă este necesar, elementele sunt eliminate din cache pentru a aloca RAM proceselor obișnuite.
Comanda liberă
Comanda gratuită vă oferă o imagine de ansamblu instantanee a utilizării memoriei. Opțiunea -h (uman) face rezultatul mai ușor de citit.
Am rulat comanda de trei ori într-o fereastră de terminal. Într-o altă fereastră de terminal, am rulat un program care solicita cantități mari de RAM.
free -h
free -h
free -h
Memoria RAM liberă scade într-un ritm alarmant. Trebuie să identificăm procesul sau procesele din spatele acestuia.
Se citesc /proc/meminfo
Instrumente precum top și htop își extrag informațiile de memorie din pseudo fișierul /proc/meminfo. Deoarece /proc/meminfo se comportă ca un fișier, putem folosi utilitare comune precum cat și mai puțin pentru a ne uita la conținutul acestuia.
less /proc/meminfo
Ieșirea diferă în funcție de nucleul pe care îl rulați și de arhitectura procesorului dvs., dar câmpurile standard sunt întotdeauna acolo. Aceasta este o modalitate bună de a vedea o afișare mai granulară a exact tipul de utilizare a memoriei care ocupă cea mai mare parte din RAM, dar nu identifică procesele individuale.
Leave A Comment?