{"id":38609,"date":"2024-09-01T15:28:57","date_gmt":"2024-09-01T15:28:57","guid":{"rendered":"https:\/\/goodwriterz.com\/site\/?p=38609"},"modified":"2024-09-01T15:28:57","modified_gmt":"2024-09-01T15:28:57","slug":"how-to-check-memory-usage-from-the-linux-terminal","status":"publish","type":"post","link":"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/","title":{"rendered":"How to Check Memory Usage From the Linux Terminal"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_68_1 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#Quick_Links\" title=\"Quick Links\">Quick Links<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#Key_Takeaways\" title=\"Key Takeaways\">Key Takeaways<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#How_Linux_Uses_RAM\" title=\"How Linux Uses RAM\">How Linux Uses RAM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#The_free_Command\" title=\"The free Command\">The free Command<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#The_vmstat_Command\" title=\"The vmstat Command\">The vmstat Command<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#The_top_Command_to_Display_Current_RAM_Use\" title=\"The top Command to Display Current RAM Use\">The top Command to Display Current RAM Use<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/#Reading_procmeminfo\" title=\"Reading \/proc\/meminfo\">Reading \/proc\/meminfo<\/a><\/li><\/ul><\/nav><\/div>\n<div>\n<div class=\"w-table-content\">\n<h3 class=\"title icon i-flash\"><span class=\"ez-toc-section\" id=\"Quick_Links\"><\/span>Quick Links<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"table-content\">\n<div class=\"w-table-content-list\">\n<ul class=\"table-content-list\">\n<li class=\"table-content-element icon\">\n<div class=\"table-content-link\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"#the-top-command-to-display-current-ram-use\">The top Command to Display Current RAM Use<\/a> <\/div>\n<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<section class=\"emaki-custom-block emaki-custom-key-points\">\n<div class=\"emaki-custom key-points\" id=\"custom_block_0\">\n<h3 class=\"title icon i-list\"><span class=\"ez-toc-section\" id=\"Key_Takeaways\"><\/span>Key Takeaways<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"custom_block-content key-points\">\n<ul>\n<li> There are a variety of Linux commands that can display information about your RAM. Some are better for certain uses that others. <\/li>\n<li> The &#8220;free&#8221; command provides information on total, used, free, shared, buffer\/cache, and available RAM and swap space at the moment you run the command. <\/li>\n<li> The &#8220;top&#8221; command displays real-time information on CPU usage, memory usage, and process details on a Linux system. <\/li>\n<\/ul>\n<\/div><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":0,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":0,\"nbrPlacementsScanned\":0,\"ruleCount\":200,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":240} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":0,\"ruleCount\":200,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":200,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/section>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":0} --><br \/>\n<!-- No winning ad found for zone: below first paragraph! --><\/p>\n<p> There are plenty of ways you can get the lowdown on memory usage within your Linux system. In this roundup, we&#8217;ll cover the most commonly used command-line methods: <code>free<\/code>, <code>vmstat<\/code>, and <code>top<\/code>. We&#8217;ll also look at reading <code>\/proc\/meminfo<\/code> directly. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":248} --><br \/>\n<!-- No winning ad found for zone: native in content! --><\/p>\n<h2 id=\"how-linux-uses-ram\"><span class=\"ez-toc-section\" id=\"How_Linux_Uses_RAM\"><\/span> How Linux Uses RAM <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p> RAM is a finite resource that all processes, like applications and daemons, want a piece of. There&#8217;s only so much of it available. The kernel referees the memory squabbles and allocates the rationed memory out to all the hungry processes. It&#8217;s kind of like a mother bird with more open beaks pointed at her than she has the grub for. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":591} --><\/p>\n<p> Unused RAM is wasted RAM. Linux uses any spare RAM for things like file buffer space, to keep your computer running at optimum performance. It&#8217;s easy to get the impression that your system&#8217;s RAM has been consumed by some runaway process or memory leak, but that&#8217;s rarely the case. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":885} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":885,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":15,\"nextBlockCount\":234,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1119} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<p> It&#8217;s usually just the kernel tenaciously doing its job in the background. If there are other demands for the RAM that the kernel has poached for its own devices, it relinquishes the memory instantly, so there&#8217;s no harm done. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":219} --><\/p>\n<p> If the kernel decides it&#8217;s more efficient to start using swap space, it brings that into play, as well. There&#8217;s a lot of confusion about the swappiness <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":380} --><\/p>\n<p> value in Linux and when the kernel will start using swap. It&#8217;s untrue that the swappiness value sets a threshold for RAM usage that triggers swap to be enabled. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":546} --><\/p>\n<p> But now, let&#8217;s look at the different techniques you can use in the terminal window to see the RAM usage on your Linux computer. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":679} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":679} --><\/p>\n<h2 id=\"the-free-command\"><span class=\"ez-toc-section\" id=\"The_free_Command\"><\/span> The free Command <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p> The <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man1\/free.1.html\">free command<\/a> gives you a table of the total, used, free, shared, buffer\/cache, and available RAM on your computer. It also shows you the total amount of swap space configured, and how much is used and available. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":896} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":896,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":4,\"nextBlockCount\":133,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1029} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<p> In our example, we&#8217;ll use the -m (mebibytes) option. However, you could also use -b (bytes), -k (kibibytes), or -g (gibibytes). <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":129} --><\/p>\n<p> We type the following command: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":161} --><\/p>\n<pre>free -m<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":170} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"646\" height=\"167\" loading=\"lazy\" alt=\"free -m in a terminal window\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/How-to-Check-Memory-Usage-From-the-Linux-Terminal.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/How-to-Check-Memory-Usage-From-the-Linux-Terminal.png?resize=646%2C167&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":410} --><\/p>\n<p> This is the output we get: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":438} --><\/p>\n<div class=\"table-container\">\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"\" summary=\"\">\n<tbody>\n<tr>\n<td> <\/td>\n<td>\n<p> Total <\/p>\n<\/td>\n<td>\n<p> Used <\/p>\n<\/td>\n<td>\n<p> Free <\/p>\n<\/td>\n<td>\n<p> Shared <\/p>\n<\/td>\n<td>\n<p> Shared Buff\/Cache <\/p>\n<\/td>\n<td>\n<p> Available <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p> Mem <\/p>\n<\/td>\n<td>\n<p> 1987 <\/p>\n<\/td>\n<td>\n<p> 927 <\/p>\n<\/td>\n<td>\n<p> 80 <\/p>\n<\/td>\n<td>\n<p> 79 <\/p>\n<\/td>\n<td>\n<p> 980 <\/p>\n<\/td>\n<td>\n<p> 811 <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p> Swap <\/p>\n<\/td>\n<td>\n<p> 1521 <\/p>\n<\/td>\n<td>\n<p> 651 <\/p>\n<\/td>\n<td>\n<p> 869 <\/p>\n<\/td>\n<td> <\/td>\n<td> <\/td>\n<td> <\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":678} --><\/p>\n<p> The <code>Mem<\/code> columns contain the following information: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":730} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":730,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":170,\"nextBlockCount\":498,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1228} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<ul>\n<li><strong>Total<\/strong>: The total amount of physical RAM on this computer. <\/li>\n<li><strong>Used<\/strong>: The sum of Free+Buffers+Cache subtracted from the total amount. <\/li>\n<li><strong>Free<\/strong>: The amount of unused memory. <\/li>\n<li><strong>Shared<\/strong>: Amount of memory used by the <code>tmpfs<\/code> file systems. <\/li>\n<li><strong>Buff\/cache<\/strong>: Amount of memory used for buffers and cache. This can be released quickly by the kernel if required. <\/li>\n<li><strong>Available<\/strong>: This is an estimate of the memory that&#8217;s available to service memory requests from applications and any other operational software on your computer. <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":328} --><\/p>\n<p> The <code>Swap<\/code> columns contain the following information: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":381} --><\/p>\n<ul>\n<li><strong>Total<\/strong>: The size of the swap partition or file. <\/li>\n<li><strong>Used<\/strong>: The amount of swap space that&#8217;s in use. <\/li>\n<li><strong>Free<\/strong>: The amount of remaining (unused) swap space. <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":530} --><\/p>\n<p> You can also use the following nifty trick we tweaked from one of our readers to see the percentage of swap space that is used: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":659} --><\/p>\n<pre>free -m | grep Swap | awk '{print ($3\/$2)*100}'<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":716} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"646\" height=\"97\" loading=\"lazy\" alt=\"free -m | grep Swap | awk &#039;{print ($3\/$2)*100}&#039; in a terminal window\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_175_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_175_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png?resize=646%2C97&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":956} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":0} --><\/p>\n<h2 id=\"the-vmstat-command\"><span class=\"ez-toc-section\" id=\"The_vmstat_Command\"><\/span> The vmstat Command <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p> It&#8217;s impossible to have a good understanding of the way RAM is used in your Linux box without an appreciation of the state of your swap space. RAM and swap space work closely together. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":190} --><\/p>\n<p> You can use the <code>vmstat<\/code> command to take a deeper dive into how your swap space (or virtual memory) is being used. It gives you a report on a variety of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man8\/vmstat.8.html\">swap-related statistics<\/a> based on the average values since the last reboot. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":417} --><\/p>\n<p> Type the following: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":438} --><\/p>\n<pre>vmstat<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":446} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"646\" height=\"197\" loading=\"lazy\" alt=\"vmstat in a terminal window\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_803_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_803_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png?resize=646%2C197&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":686} --><\/p>\n<p> There are a lot of data points in that report, so we&#8217;ll break them down: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":764} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":764,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":136,\"nextBlockCount\":1627,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":2391} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<ul>\n<li><strong>Proc:<\/strong>\n<ul>\n<li><strong>r<\/strong>: The number of &#8220;runnable&#8221; processes. They&#8217;re either running or waiting for their next time-sliced burst of CPU cycles. <\/li>\n<li><strong>b<\/strong>: The number of processes in uninterruptible sleep. These aren&#8217;t sleeping, but performing a blocking system call. They can&#8217;t be interrupted until they complete their current action. Typically, this process is a device driver waiting for some resource to be free. Any queued interrupts for that process are handled when the process resumes its usual activity. <\/li>\n<\/ul>\n<\/li>\n<li><strong>Memory:<\/strong>\n<ul>\n<li><strong>swpd<\/strong>: The amount of virtual memory used, i.e., how much memory has been swapped out. <\/li>\n<li><strong>free<\/strong>: The amount of idle (unused) memory. <\/li>\n<li><strong>buff<\/strong>: The amount of memory used as buffers. <\/li>\n<li><strong>cache<\/strong>: The amount of memory used as cache. <\/li>\n<\/ul>\n<\/li>\n<li><strong>Swap:<\/strong>\n<ul>\n<li><strong>si<\/strong>: The amount of virtual memory swapped in from swap space. <\/li>\n<li><strong>so<\/strong>: The amount of virtual memory swapped out to swap space. <\/li>\n<\/ul>\n<\/li>\n<li><strong>IO:<\/strong>\n<ul>\n<li><strong>bi<\/strong>: Blocks in. The number of data blocks used to swap virtual memory back to RAM. <\/li>\n<li><strong>bo<\/strong>: Blocks out. The number of data blocks used to swap virtual memory out of RAM and into swap space. <\/li>\n<\/ul>\n<\/li>\n<li><strong>System:<\/strong>\n<ul>\n<li><strong>in<\/strong>: The number of interrupts per second, including the clock. <\/li>\n<li><strong>cs<\/strong>: The number of context switches per second. A context switch is when the kernel swaps from system to user mode processing. <\/li>\n<\/ul>\n<\/li>\n<li><strong>CPU: <\/strong>These values are all percentages of the total CPU time:\n<ul>\n<li><strong>us<\/strong>: Time spent running user (non-kernel) code. <\/li>\n<li><strong>sy<\/strong>: Time spent running kernel code. <\/li>\n<li><strong>id<\/strong>: Time spent idle. <\/li>\n<li><strong>wa<\/strong>: Time spent waiting for in- or output. <\/li>\n<li><strong>st<\/strong>: The time a virtual machine has to wait for the hypervisor to finish servicing other virtual machines before it can come back and attend to this virtual machine. <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":1491} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":0} --><\/p>\n<h2 id=\"the-top-command-to-display-current-ram-use\"><span class=\"ez-toc-section\" id=\"The_top_Command_to_Display_Current_RAM_Use\"><\/span> The top Command to Display Current RAM Use <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p> The <code>top<\/code> command <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man1\/top.1.html\">displays a screen packed with information.<\/a> The values are updated every few seconds. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":102} --><\/p>\n<p> To use it, we type the following: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":137} --><\/p>\n<pre>top<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":142} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"646\" height=\"382\" loading=\"lazy\" alt=\"top in a terminal window\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_603_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_603_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png?resize=646%2C382&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":382} --><\/p>\n<p> The &#8220;e&#8221; key was pressed. This changed the display to megabytes, which are easier to visually parse than long strings representing bytes. There are five lines of information at the top of the screen and a lower pane with columns of data. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":630} --><\/p>\n<p> Here&#8217;s the info you&#8217;ll find on each line: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":681} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":681,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":219,\"nextBlockCount\":582,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1263} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<ul>\n<li><strong>Line one:<\/strong> The time, how long the computer has been running, how many people are logged in, and what the load average has been over the past one, five, and 15 minutes. <\/li>\n<li><strong>Line two:<\/strong> The number of tasks and their states: running, stopped, sleeping, or zombie. <\/li>\n<li><strong>Line three:<\/strong> CPU information (see the breakdown of the fields below). <\/li>\n<li><strong>Line four: <\/strong>The total amount of physical memory, and how much is free, used, buffered, or cached. <\/li>\n<li><strong>Line five:<\/strong> Total amount of swap memory, and how much is free, used and available (taking into account memory that&#8217;s expected to be recoverable from caches). <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":363} --><\/p>\n<p> The CPU fields on line three are as follows: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":409} --><\/p>\n<ul>\n<li><strong>us:<\/strong> Time the CPU spends executing processes for users in user space. <\/li>\n<li><strong>sy:<\/strong> Time the CPU spent running system &#8220;kernel space&#8221; processes. <\/li>\n<li><strong>ni:<\/strong> Time the CPU spent executing processes with a manually set nice value. <\/li>\n<li><strong>id:<\/strong> CPU idle time. <\/li>\n<li><strong>wa:<\/strong> Time the CPU spends waiting for I\/O to complete. <\/li>\n<li><strong>hi:<\/strong> Time the CPU spent servicing hardware interrupts. <\/li>\n<li><strong>si:<\/strong> Time the CPU spent servicing software interrupts. <\/li>\n<li><strong>st (steal time):<\/strong> Time the CPU lost due to running virtual machines. <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":876} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":876,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":24,\"nextBlockCount\":125,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1001} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<p> You might have to press the left or right arrow keys to see all the columns. The values in each column are described below: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":101} --><\/p>\n<ul>\n<li><strong>PID:<\/strong> Process ID. <\/li>\n<li><strong>USER:<\/strong> Name of the owner of the process. <\/li>\n<li><strong>PR:<\/strong> Process priority. <\/li>\n<li><strong>NI:<\/strong> The nice value of the process. <\/li>\n<li><strong>VIRT:<\/strong> Virtual memory used by the process. <\/li>\n<li><strong>RES:<\/strong> Resident memory used by the process. <\/li>\n<li><strong>SHR:<\/strong> Shared memory used by the process. <\/li>\n<li><strong>S:<\/strong> Status of the process. (See the list of values this field can take below). <\/li>\n<li><strong>%CPU:<\/strong> The share of CPU time used by the process since the last update. <\/li>\n<li><strong>%MEM:<\/strong> The share of physical memory used. <\/li>\n<li><strong>TIME+:<\/strong> Total CPU time used by the task in 100ths of a second. <\/li>\n<li><strong>COMMAND:<\/strong> The Command name or line (name + options). (This column is offscreen to the right in the image above.) <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":704} --><\/p>\n<p> The status displayed in the <code>S<\/code> column can be one of the following: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":771} --><\/p>\n<ul>\n<li><strong>D:<\/strong> Uninterruptible sleep. <\/li>\n<li><strong>R:<\/strong> Running. <\/li>\n<li><strong>S:<\/strong> Sleeping. <\/li>\n<li><strong>T:<\/strong> Traced (stopped). <\/li>\n<li><strong>Z:<\/strong> Zombie. <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":855} --><\/p>\n<p> Press Q to exit <code>top<\/code>. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":877} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":877} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":877,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":23,\"nextBlockCount\":204,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1081} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<h2 id=\"reading-proc-meminfo\"><span class=\"ez-toc-section\" id=\"Reading_procmeminfo\"><\/span> Reading \/proc\/meminfo <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p> Many (and, quite likely, most) of the tools in Linux that report memory statistics <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man5\/proc.5.html\">retrieve their information from the pseudo filesystem<\/a><code>\/proc\/meminfo<\/code>. We can use the <code>cat<\/code> or <code>less<\/code> commands to do the same. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":181} --><\/p>\n<p> We type the following: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":205} --><\/p>\n<pre>less \/proc\/meminfo<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":225} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"646\" height=\"382\" loading=\"lazy\" alt=\"less \/proc\/meminfo in a terminal window\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_955_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725204533_955_How-to-Check-Memory-Usage-From-the-Linux-Terminal.png?resize=646%2C382&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":465} --><\/p>\n<p> You might see different fields depending on the kernel that&#8217;s running, and the architecture of the CPU. We got the following results on our virtual machine: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":627} --><\/p>\n<pre><code class=\"hljs xml\">MemTotal: 2035260 kB<br \/>MemFree: 919064 kB<br \/>MemAvailable: 1300932 kB<br \/>Buffers: 33528 kB<br \/>Cached: 457604 kB<br \/>SwapCached: 29732 kB<br \/>Active: 313360 kB<br \/>Inactive: 603276 kB<br \/>Active(anon): 74648 kB<br \/>Inactive(anon): 355004 kB<br \/>Active(file): 238712 kB<br \/>Inactive(file): 248272 kB<br \/>Unevictable: 16 kB<br \/>Mlocked: 16 kB<br \/>SwapTotal: 1557568 kB<br \/>SwapFree: 873024 kB<br \/>Dirty: 80 kB<br \/>Writeback: 0 kB<br \/>AnonPages: 414100 kB<br \/>Mapped: 97436 kB<br \/>Shmem: 4148 kB<br \/>KReclaimable: 52932 kB<br \/>Slab: 94216 kB<br \/>SReclaimable: 52932 kB<br \/>SUnreclaim: 41284 kB<br \/>KernelStack: 9280 kB<br \/>PageTables: 45264 kB<br \/>NFS_Unstable: 0 kB<br \/>Bounce: 0 kB<br \/>WritebackTmp: 0 kB<br \/>CommitLimit: 2575196 kB<br \/>Committed_AS: 5072192 kB<br \/>VmallocTotal: 34359738367 kB<br \/>VmallocUsed: 35712 kB<br \/>VmallocChunk: 0 kB<br \/>Percpu: 720 kB<br \/>HardwareCorrupted: 0 kB<br \/>AnonHugePages: 0 kB<br \/>ShmemHugePages: 0 kB<br \/>ShmemPmdMapped: 0 kB<br \/>CmaTotal: 0 kB<br \/>CmaFree: 0 kB<br \/>HugePages_Total: 0<br \/>HugePages_Free: 0<br \/>HugePages_Rsvd: 0<br \/>JugePages_Surp: 0<br \/>Hugepagesize: 2048 kB<br \/>Hugetlb: 0 kB<br \/>DirectMap4k: 180160 kB<br \/>DirectMap2M: 1916928 kB<\/code> <\/pre>\n<p> All sizes are in <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Kibibyte\">kibibytes<\/a> unless otherwise indicated. Here&#8217;s what they all mean, along with some others you might see depending on your computer&#8217;s configuration and hardware: <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":812} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":812,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":88,\"nextBlockCount\":5911,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":6723} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":11,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":11,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<ul>\n<li><strong>MemTotal:<\/strong> Total usable RAM (apart from a few reserved bits and the kernel binary code). <\/li>\n<li><strong>MemFree:<\/strong> The sum of <code>LowFree<\/code>+<code>HighFree<\/code>. The amount of RAM currently available. <\/li>\n<li><strong>MemAvailable:<\/strong> Estimated memory available to start new applications, without swapping. <\/li>\n<li><strong>Buffers:<\/strong> Temporary storage for raw disk blocks. This reduces hard drive in- and output. It also speeds up access to subsequent requests for the same data because it&#8217;s already in memory. <\/li>\n<li><strong>Cached:<\/strong> Cached pages read from files on the hard drive (not including <code>SwapCached<\/code>). <\/li>\n<li><strong>SwapCached:<\/strong> Memory that was swapped out and back in, and a copy remains in the swap space. <\/li>\n<li><strong>Active:<\/strong> Memory used recently. It&#8217;s not reclaimed unless absolutely necessary. <\/li>\n<li><strong>Inactive:<\/strong> Memory that&#8217;s been used, but not the most recently used. It&#8217;s a likely candidate for reclamation. <\/li>\n<li><strong>Active(anon):<\/strong> Memory allocated to files created in a <code>tmpfs<\/code> pseudo-file system. Anonymous files don&#8217;t reside on the hard drive. <\/li>\n<li><strong>Inactive(anon):<\/strong> Amount of anonymous, <code>tmpfs<\/code>, and <code>shmem<\/code> memory that&#8217;s a candidate for eviction (memory reclamation). <\/li>\n<li><strong>Active(file):<\/strong> Amount of file cache memory in use, or that has been used since the previous memory reclamation cycle. <\/li>\n<li><strong>Inactive(file):<\/strong> Amount of file cache memory read from a hard drive that is a candidate for reclaiming. <\/li>\n<li><strong>Unevictable: <\/strong>Amount of memory that should be evictable, but isn&#8217;t because it&#8217;s locked into memory by user-space processes. <\/li>\n<li><strong>Mlocked:<\/strong> Total amount of memory not evictable because it&#8217;s locked by user-space processes. <\/li>\n<li><strong>HighTotal:<\/strong> Total amount of HighMem, which is used by user-space programs and page cache. The kernel can access this memory zone, but it&#8217;s slower for it to access than LowMem. <\/li>\n<li><strong>HighFree:<\/strong> Amount of free HighMem. <\/li>\n<li><strong>LowTotal:<\/strong> Amount of LowMem, which is available for all the same uses as HighMem, but also for the kernel to use for its own purposes. <\/li>\n<li><strong>LowFree:<\/strong> Amount of free LowMem. <\/li>\n<li><strong>MmapCopy:<\/strong> Amount of memory that&#8217;s been mapped to file data. <\/li>\n<li><strong>SwapTotal:<\/strong> Total amount of swap space available. <\/li>\n<li><strong>SwapFree:<\/strong> Amount of swap space that&#8217;s currently unused. <\/li>\n<li><strong>Dirty:<\/strong> Amount of memory waiting to be written back to the disk. <\/li>\n<li><strong>Writeback:<\/strong> Memory actively being written back to the disk. <\/li>\n<li><strong>AnonPages:<\/strong> Non-file backed pages mapped into user-space page tables. <\/li>\n<li><strong>Mapped:<\/strong> Files (like libraries) that are mapped into memory. <\/li>\n<li><strong>Shmem:<\/strong> Amount of memory consumed in <code>tmpfs<\/code> pseudo-file systems. <\/li>\n<li><strong>KReclaimable:<\/strong> Kernel memory allocations the kernel will attempt to reclaim if the demand for memory is severe enough. <\/li>\n<li><strong>Slab:<\/strong> In-kernel data structures cache. <\/li>\n<li><strong>SReclaimable:<\/strong> Amount of <code>Slab<\/code> memory that might be reclaimed, such as caches. <\/li>\n<li><strong>SUnreclaim:<\/strong> Amount of <code>Slab<\/code> memory that can&#8217;t be reclaimed. <\/li>\n<li><strong>KernelStack:<\/strong> Amount of memory allocated to kernel stacks. <\/li>\n<li><strong>PageTables:<\/strong> Amount of memory dedicated to the lowest level of page tables. <\/li>\n<li><strong>Quicklists:<\/strong> Because the allocation and deletion of page tables is a very frequent operation, it&#8217;s vital that&#8217;s it&#8217;s as quick as possible. So, the pages used for page tables are cached in a number of different lists called &#8220;quicklists.&#8221; <\/li>\n<li><strong>NFS_Unstable:<\/strong><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Network_File_System\">Network File System<\/a> (NFS) pages the server has received, but not yet written to non-volatile storage. <\/li>\n<li><strong>Bounce:<\/strong> Memory used for block device bounce buffers. A bounce buffer is positioned in memory low enough for a device to directly access it. The data is then copied to the desired user page in HighMem. <\/li>\n<li><strong>WritebackTmp:<\/strong> Memory used by <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Filesystem_in_Userspace\">Filesystem in Userspace<\/a> (FUSE) for temporary write-back buffers. <\/li>\n<li><strong>CommitLimit:<\/strong> The total amount of memory currently available to be allocated in the system. <\/li>\n<li><strong>Committed_AS:<\/strong> The amount of memory estimated to satisfy all current demands. If a program requests some RAM, the request is recorded, but the RAM is only allocated once the program starts to use it. It&#8217;s also only allocated as required, up to the maximum amount the program reserved. More memory can be &#8220;allocated&#8221; than can actually be delivered. If all programs try to cash in their RAM chips at once, the memory casino might go bust (and have to go cap in hand to the swap-space financiers). <\/li>\n<li><strong>VmallocTotal:<\/strong> Total size of the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.kernel.org\/doc\/htmldocs\/kernel-api\/API-vmalloc.html\">vmalloc<\/a> memory area. <\/li>\n<li><strong>VmallocUsed:<\/strong> Amount of vmalloc area used. Since Linux 4.4, this field is no longer calculated, it&#8217;s hard-coded. <\/li>\n<li><strong>VmallocChunk:<\/strong> Largest contiguous block of free vmalloc area. <\/li>\n<li><strong>HardwareCorrupted:<\/strong> Amount of memory tagged as having physical memory corruption problems. It won&#8217;t be allocated. <\/li>\n<li><strong>LazyFree:<\/strong> Amount of memory in <code>MADV_FREE<\/code> state. When an application sets the <code>MADV_FREE<\/code> flag on a range of pages, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man2\/madvise.2.html\">this indicates it no longer requires them<\/a>, and they&#8217;re now reclamation candidates. Actual reclamation might be delayed until there&#8217;s sufficient demand for memory. If the application starts to write to pages, the reclamation can be canceled. <\/li>\n<li><strong>AnonHugePages:<\/strong> Non-file backed huge pages mapped into user-space page tables. Non-file backed pages didn&#8217;t come from a hard drive file. <\/li>\n<li><strong>ShmemHugePages:<\/strong> Amount of memory used by shared memory (<code>shmem<\/code>) and pseudo-file systems (<code>tmpfs<\/code>) allocated with huge pages. <\/li>\n<li><strong>ShmemPmdMapped:<\/strong> Amount of shared memory mapped into user-space with huge pages. <\/li>\n<li><strong>CmaTotal:<\/strong> Amount of CMA (Contiguous Memory Allocator) pages. These are used by devices that can only communicate to contiguous regions of memory. <\/li>\n<li><strong>CmaFree:<\/strong> Amount of free CMA (Contiguous Memory Allocator) pages. <\/li>\n<li><strong>HugePages_Total:<\/strong> Huge page pool size. <\/li>\n<li><strong>HugePages_Free:<\/strong> Number of unallocated huge pages in the pool. <\/li>\n<li><strong>HugePages_Rsvd:<\/strong> Number of reserved huge pages. The commitment to allocate has been made, but allocation hasn&#8217;t occurred yet. <\/li>\n<li><strong>HugePages_Surp:<\/strong> Number of huge pages in the pool above the defined system value. <\/li>\n<li><strong>Hugepagesize:<\/strong> Size of huge pages. <\/li>\n<li><strong>DirectMap4k:<\/strong> Number of bytes of RAM mapped to 4 kB pages. <\/li>\n<li><strong>DirectMap4M:<\/strong> Number of bytes of RAM mapped to 4 MB pages. <\/li>\n<li><strong>DirectMap2M:<\/strong> Number of bytes of RAM mapped to 2 MB pages. <\/li>\n<li><strong>DirectMap1G:<\/strong> Number of bytes of RAM mapped to 2 GB pages. <\/li>\n<\/ul>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":11,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":11,\"nbrPlacementsScanned\":11,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":5823} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":12,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":12,\"nbrPlacementsScanned\":11,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<hr \/>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":12,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":12,\"nbrPlacementsScanned\":12,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":0} --><\/p>\n<p> As usual with Linux, there&#8217;s more than one way to get a quick overview, and always at least one way to go deeper into the details. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":12,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":12,\"nbrPlacementsScanned\":12,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":136} --><\/p>\n<p> You&#8217;ll probably use <code>free<\/code>, <code>top<\/code>, and <code>vmstate<\/code> regularly, and keep <code>\/proc\/meminfo<\/code> in reserve for when you need to do a deep-dive to investigate a particular issue. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":12,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":12,\"nbrPlacementsScanned\":12,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":300} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":12,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":12,\"nbrPlacementsScanned\":12,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":620} --><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Quick Links The top Command to Display Current RAM Use Key Takeaways There are a variety of Linux commands that can display information about your RAM. Some are better for certain uses that others. The &#8220;free&#8221; command provides information on total, used, free, shared, buffer\/cache, and available RAM and swap space at the moment you &#8230; <a title=\"How to Check Memory Usage From the Linux Terminal\" class=\"read-more\" href=\"https:\/\/goodwriterz.com\/site\/how-to-check-memory-usage-from-the-linux-terminal\/\" aria-label=\"Read more about How to Check Memory Usage From the Linux Terminal\">\u0625\u0642\u0631\u0623 \u0627\u0644\u0645\u0632\u064a\u062f<\/a><\/p>\n","protected":false},"author":1,"featured_media":38610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[42,43],"class_list":["post-38609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux","tag-linux-macos-terminal"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/How-to-Check-Memory-Usage-From-the-Linux-Terminal.jpg?fit=1920%2C1080&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts\/38609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/comments?post=38609"}],"version-history":[{"count":0,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts\/38609\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/media\/38610"}],"wp:attachment":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/media?parent=38609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/categories?post=38609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/tags?post=38609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}