Как да използвате безплатната команда на Linux

Подкана за терминал на компютър с Linux.

Фатмавати Ахмад Заенури/Shutterstock



Linux |_+_| командата показва колко от паметта на компютъра ви се използва и колко все още е налично за използване на програмите. Неговият резултат може да бъде объркващ за непосветените, но ние ще ви покажем как да го разберете.

Безплатната команда

|_+_| командата отпечатва кратко обобщение на използването на паметта в прозорец на терминала. то няма много опции или измамва ръкавите си и не отнема много време или усилия, за да се научите как да го използвате. Да се ​​научиш да тълкуваш правилно информацията, която предоставя, обаче, е друга история. Твърде лесно е да се объркате от това, което |_+_| ви казва.





Отчасти това се дължи на терминологията – като разликата между безплатно и налично – и отчасти се дължи на вътрешната работа на рутините за управление на паметта и файловата система на ядрото на Linux. Ако имате свободна памет, която ядрото може да използва добре, то ще я заеме за свои собствени цели. Докато ви потрябва обратно.

Ще се потопим в основните механизми и рутинни процедури за данни, за да можете да оцените какво се случва под капака и как всичко това влияе върху използването на вашия оперативна памет (RAM).



Безплатните колони

Да запалим |_+_| без опции и вижте какво получаваме:

free

Реклама

Това е обвито по грозен начин. На вашия компютър ще можете да разтегнете прозореца на терминала. Ето изхода в по-подредена таблица:



free

Цифрите са дадени кибибайта , които са 1024 байта. На Манджаро, |_+_| командата е псевдоним като |_+_|. Това принуждава |_+_| да използвам мебибайта , които са 1 048 576 байта. В други дистрибуции по подразбиране е кибибайти.

Горният ред отчита системната памет, долният ред докладва за пространството за размяна. Тук ще представим колоните, след което ще ги разгледаме по-подробно скоро. Колоните за реда с памет са както следва:

    Обща сума: Общото количество физическа RAM, инсталирана на вашия компютър. Използван: Това се изчислява чрез |_+_|-(|_+_|+|_+_|+|_+_|). Безплатно: Количеството неизползвана памет. Защо не Total=Used+Free? Ще обясним това скоро. Споделено: Памет, която се използва от |_+_| файлова система. Buff / кеш: Памет, използвана за буфери и кеш. На разположение: Това е оценка на паметта, която е налична за обслужване на заявки за памет от приложения, всеки друг работещ софтуер във вашия компютър, като вашия графичен среда на работния плот и Linux команди.

За реда за размяна колоните са:

    Обща сума: Размерът на суап дяла или суап файл. Използван: Количеството използвано пространство за размяна. Безплатно: Оставащото (неизползвано) пространство за размяна

Широкият дисплей

За да разделите |_+_| фигури в техните собствени колони, използвайте |_+_| (широк) вариант:

free

Това е резултатът. Вместо |_+_| колона, получаваме |_+_| колона и |_+_| колона. Ето цифрите в таблица:

free

Нека видим какво представляват цифрите в колоните.

Колона Общо

Това е простото. Това е колко RAM имате инсталиран на дънната си платка. Това е ценният ресурс, за който се борят всички работещи процеси. Поне щяха да се бият, ако ядрото не съди.

Реклама

Между другото, мястото, където |_+_| събира информацията си от |_+_| псевдо-файл. Можете сами да разгледате този файл със следната команда:

free

Резултатът е единичен списък с имена и стойности.

Използваната колона

Тук започва да става интересно.

|_+_| фигурата представлява това, което вероятно бихте очаквали, плюс куп други неща. Това е паметта, която се разпределя на процеси, взема се от потребителски програми и се използва от неща като GNOME или КЪДЕТО настолни среди. Няма изненади там. Но също така включва |_+_| и |_+_| фигури.

RAM, която не се използва за нещо, е пропиляна RAM. Ядрото използва резервна RAM за съхраняване на кешове и буфери, които му позволяват да работи по-ефективно. Така че тази RAM памет се използва за нещо от ядрото, но не и от нещо вътре потребителско пространство .

Ако бъде получена заявка за памет, която може да бъде обслужена само чрез отказване на част от RAM, която ядрото използва за собствените си устройства, тогава това се случва безпроблемно. Освобождаването на тази RAM памет и използването й за други приложения няма да повлияе на правилна работа на вашата Linux система — нищо няма да се счупи — но това може да повлияе на производителност на системата.

Така че тази колона наистина означава цялата RAM, която се използва от нещо, дори ако може да бъде възстановена незабавно.

Свободната колона

Тази колона съдържа цифрата за количеството RAM, което не се използва от нищо. Тъй като |_+_| колоната съдържа цифрите за буфери и кеш, не е необичайно перфектно функциониращите Linux системи да имат много малко RAM памет, посочена като свободна.

Реклама

Това не е непременно лошо нещо и почти сигурно означава, че имате напълно нормално функционираща система, която регулира правилно използването на RAM. Тоест RAM паметта се използва от приложения и други процеси в потребителското пространство и от ядрото в усилията му да направи производителността на вашия компютър възможно най-добра.

Споделената колона

Цифрата в |_+_| колоната представлява памет, посветена на задържането на |_+_| Файлови системи, базирани на RAM . Това са файлови системи, които се създават в паметта, за да улеснят ефективното функциониране на операционната система. За да видите кои |_+_| налични файлови системи, използвайте |_+_| команда .

Опциите, които използваме са:

  • |_+_| (човек): Използвайте разумни, най-подходящи единици.
  • |_+_|: Показва ред с суми в долната част на изхода.
  • |_+_|: Докладвайте само за |_+_| файлови системи.
free -m

Първото нещо, което ви удря, когато погледнете тези стойности е, че те са много пъти по-големи от цифрата в |_+_| колона. Показаните тук размери са максималните размери на тези файлови системи. В действителност всеки от тях заема толкова памет, колкото им е необходима. Цифрата в |_+_| колоната е тази, която трябва да се вярва за използване на паметта.

Какво съдържат тези файлови системи? Ето една бърза разбивка:

    /бягай: Това съдържа много временни файлове, като напр PID файлове , система дневник, който не трябва да се запазва при рестартиране, свързана с него информация Unix домейн сокети , FIFO , и управлението на демони . /dev/shm: Това позволява изпълнението на POSIX-съвместим управление на паметта е включено Debian и Linux дистрибуции, получени от Debian. /изпълни/заключи: Това съдържа заключващи файлове. Те се използват като индикатори, за да уведомят системата, че се използва файл или друг споделен ресурс. Те съдържат PID на процеса използвайки този ресурс. /sys/fs/cgroup: Това е централен елемент от схемата, която управлява контролни групи . Процесите са организирани в йерархични групи според видовете ресурси, които използват. Позволява да се наблюдава и ограничава използването на ресурсите от процесите. /изпълни/потребител/121: Това е папка, създадена от pam_systemd за съхраняване на временни файлове за потребител. В този случай потребителят има идентификатор 121. Имайте предвид, че потребителят може да е обикновен потребител, демон или някакъв друг процес. /run/user/1000: Това е папка |_+_| от pam_systemd за съхраняване на временни файлове за този потребител, който има потребителски идентификатор 1000. Това е текущият потребител, потребител dave.

Колоните за буфер и кеш

|_+_| и |_+_| колоните се появяват само ако сте използвали |_+_| (широко). Без – |_+_| опция, цифрите от тези две колони се комбинират в |_+_| колона.

Реклама

Тези две области на паметта взаимодействат и зависят една от друга. Зоната на кеша съдържа (главно) данни който е прочетен от твърдия диск . Той се запазва в случай, че трябва да го получите отново. По-бързо е да направите това, като издърпате тези данни от кеша, отколкото да ги прочетете обратно от твърдия диск. Кешът може също да съдържа данни, които са били променени, но все още не са записани обратно на твърдия диск, или стойности, които са изчислени и все още не са записани във файл.

За да следи различните файлови фрагменти и скривалища от данни, ядрото изгражда индекс към областта на кеш паметта, в областта на паметта на буферите. Буферите са части от паметта, които съдържат дискови блокове и други информационни структури. Те съдържат данни за данните, които се съхраняват в областта на кеш паметта. Така че буферите са метаданни за кеша.

Когато се направи заявка за четене на файл, ядрото чете данните в буферните структури от данни, търсейки файла или файловия фрагмент, който е бил поискан. Ако бъде намерена, заявката се обслужва от областта на кеш паметта, посочена от буферните структури от данни. Ако не присъства в кеша – и следователно не е в метаданните в областта на паметта на буферите – файлът се чете от твърдия диск.

Структурите в областта на буферната памет са:

Можете да видите защо има смисъл да се кондензира паметта, използвана за буферната и кеш паметта, в един |_+_| колона. Те са като две части от едно и също нещо. Зоната на кеш паметта би била безполезна без областта на буферната памет да предоставя индекс на съдържанието си.

Наличната колона

Наличната колона е сумата от |_+_| колона плюс частите от |_+_| и Кеш колони (или колоната |_+_|), които могат да бъдат преотстъпени незабавно . |_+_| колоната е приблизителна, а не точна цифра. Това е информирана и точна оценка, но не трябва да се приема като точна до последния байт.

Смяна на дисплейните единици

За да промените единици, които свободно показват фигурите, използвайте една от следните опции.

    -б: Показва стойностите в байтове. -да се: Показва стойностите в кибибайти (което е по подразбиране). -м: Показва стойностите в мибибайти. -ж: Показва стойностите в гибибайти. -h: Показва стойностите в разумни най-подходящи единици (четими от човека) единици.
Реклама

Например, за да използвате четими от човека стойности, използвайте |_+_| опция:

free

|_+_| ще използва най-подходящата единица за всяка стойност. Както можете да видите, някои от стойностите се показват в MiB, а някои от тях са в GiB.

Показване на общо

|_+_| опцията позволява безплатно показване на общ ред, който сумира стойностите от |_+_|, |_+_| и |_+_| колони на Mem и |_+_| линии.

Total

Опцията за броене

|_+_| (брой) опция казва |_+_| да бягате определен брой пъти, с пауза от една секунда между всеки. Да има |_+_| стартирайте два пъти, използвайте тази команда:

Free

Работи безплатно Непрекъснато

Ако искате да видите ефекта, който дадено приложение има върху използването на паметта ви, може да е полезно да имате |_+_| работи непрекъснато. Това ви позволява да изпълнявате |_+_| в прозорец на терминала, докато стартирате, използвате и след това затворите приложението, което разследвате.

|_+_| Опцията (секунди) определя продължителността на паузата между всяко изпълнение на |_+_|. За да имате непрекъснато свободно изпълнение с пауза от три секунди между всяка актуализация, използвайте тази команда:

Buffers

Реклама

Натиснете |_+_| за да спрете процеса и да се върнете към командния ред.

Комбиниране на опциите за броене и секунди

Да има |_+_| стартирайте с определена пауза между всяка актуализация, но спрете след определен брой отчети, комбинирайте |_+_| (секунди) и |_+_| (брой) опции. Да има |_+_| стартирайте пет пъти с пауза от две секунди между всяка актуализация, използвайте тази команда:

Cache

След като се появят петте актуализации, процесът се прекратява самостоятелно и вие се връщате в командния ред.

Разделяне на ниска и висока памет

Това е малко полезно в днешно време, но ако използвате Linux на 32-битов компютър, може да се окаже полезно. Той разделя използването на памет от ниска памет и висока памет.

На 32-битова Linux базирана операционна система, процесорът може да адресира максимум 4GB памет. Паметта е разделена на ниска памет и висока памет. Ниската памет се съпоставя директно с частта на ядрото от адресното пространство. Голямата памет няма директно картографиране на ядрото. Високата памет обикновено е всичко над 896 MB.

Реклама

Това означава, че самото ядро ​​(включително неговите активни модули) може да използва само ниска памет. Потребителските процеси – всичко, което не е самото ядро ​​– могат потенциално да използват ниска и висока памет.

На 64-битов компютър няма да се показват стойности за висока памет:

tmpfs

Спомените са направени от това

Кратко обобщение:

    Обща сума: Количеството RAM, инсталирана във вашата система. Използван: Равно на |_+_|-(|_+_|+|_+_|+|_+_|). Безплатно: Количеството памет, напълно неизползвана от нищо. Споделено: Памет, заета от |_+_| файлови системи. Буфер: Структурите от данни, които се поддържат, за да предоставят индекс за всичко, съхранявано в |_+_|. Кеш: Данни, прочетени от твърдия диск, модифицирани данни, чакащи да бъдат записани обратно на твърдия диск, и други изчислени стойности. На разположение: Какво наистина е безплатно. Оценка на паметта в |_+_|, |_+_| и |_+_| който може да се използва за задоволяване на заявка за памет.
Linux команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии