在ubuntu上查抄内存使用情况的九种方法

打印 上一主题 下一主题

主题 900|帖子 900|积分 2700

在 Ubuntu 中,可以通过 GUI(图形用户界面)和命令利用用多种方法来监视体系的内存使用情况,监视 Ubuntu 服务器上的内存使用情况并不复杂;相识已使用和可用的内存量对于故障清除和优化服务器性能至关告急,因为内存对体系 I/O 速度至关告急,定期监控内存使用情况有助于诊断潜在的体系问题和优化服务器性能,还可以资助使用者确定是否需要扩充内存;本文将简要形貌在 Ubuntu 上使用命令和工具监视内存使用情况的各种方法。
  
方法 1:使用 free
命令查看内存




  • free
    命令显示体系中可用和已使用的内存量,要使用此命令,请打开终端并键入以下命令:
    1. free
    复制代码
  • 输出将显示内存总量、已用内存、可用内存和共享内存,输出还将显示缓冲区和缓存内存;
    1. whowin@vm448813:~$ free
    2.               total        used        free
    3.       shared  buff/cache   availableMem:         484936      108308       10336         248      366292      366360Swap:        239696       25588      214108
    复制代码

方法 2:使用 top
命令查看内存




  • top
    命令显示体系历程及其资源使用情况,包罗内存使用情况,在终端上键入 top
    即可启动该命令;
    1. top
    复制代码
  • 输出将显示体系上运行的历程列表,包罗它们的 PID、用户、CPU 使用情况和内存使用情况,内存使用情况(MiB Mem)和互换内存使用情况(MiB Swap)的单元为 MiB 大概 KiB,1 MiB 为 10242 bytes,1 KiB 为 1024 bytes;
    1. top
    2. - 23:07:33 up 144 days, 11:01,  1 user,  load average: 0.20, 0.07, 0.01Tasks:  85 total,   1 running,  84 sleeping,   0 stop
    3. ped,   0 zombie%Cpu(s):  4.3 us,  3.7 sy,  0.0 ni, 87.7 id,  0.0 wa,  0.0 hi,  1.7 si,  2.7 stMiB Mem :    473.6 total,     32.7 free
    4. ,     92.4 used,    348.5 buff/cacheMiB Swap:    234.1 total,    209.1 free
    5. ,     25.0 used.    370.6 avail Mem     PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND     10 root      20   0       0      0      0 I   0.7   0.0 871:36.89 rcu_sched      1 root      20   0  168804   6408   4172 S   0.3   1.3  27:35.83 systemd      9 root      20   0       0      0      0 S   0.3   0.0 178:24.79 ksoftirqd/0  15485 root      20   0    6448    996    780 S   0.3   0.2 242:24.27 qemu-ga  20887 root      20   0   12184   2264   2092 S   0.3   0.5  32:42.65 sshd  21836 root      19  -1  195616 114896 114128 S   0.3  23.7 109:38.57 systemd-journal1877591 root      20   0       0      0      0 I   0.3   0.0   0:21.95 kworker/0:1-events      2 root      20   0       0      0      0 S   0.0   0.0   0:09.50 kthreadd      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq     11 root      rt   0       0      0      0 S   0.0   0.0   1:00.36 migration/0     12 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/0     14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs     16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_kthre     18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd     19 root      20   0       0      0      0 S   0.0   0.0   0:37.21 khungtaskd     20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper     21 root       0 -20       0      0      0 I   0.0   0.0   0:00.12 writeback     22 root      20   0       0      0      0 S   0.0   0.0   0:01.04 kcompactd0     23 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd     69 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd     70 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kblockd
    复制代码

方法 3:使用 htop
命令查看内存




  • htop
    命令是 top
    命令的增强版本,它以更加人性化的方式显示体系历程及其资源使用情况;
  • 使用如下命令安装 htop

    1. sudo apt install htop
    复制代码
  • 安装好后在终端上键入 htop
    即可启动;
  • 输出将显示体系上运行的历程列表,包罗它们的 PID、用户、CPU 使用情况和内存使用情况;


方法 4. 使用 vmstat 命令查看内存



  • vmstat 是一个报告虚拟内存统计信息的工具,它提供有关历程、内存、分页、块 I/O、陷阱和 CPU 活动的信息;
  • 在终端上键入 vmstat 即可使用;
  • 查看 “swpd”(已使用的互换区)和 “free
    ”(可用内存)列,相识有关内存使用情况的详细信息;
    1. whowin@vm448813:~$ vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free
    2.    buff  cache   si   so    bi    bo   in   cs us sy id wa st 0  0  25844  18916  69112 302020    0    0     2    14    1    3  0  1 96  0  3
    复制代码

方法 5. 通过文件 /proc/meminfo 查看内存



  • /proc/meminfo 文件包含有关体系内存使用情况的详细信息,使用下面命令查看其内容:
    1. cat /proc/meminfo
    复制代码
  • 该命令显示体系内存的详细分类,包罗总内存、可用内存、已用内存和其他与内存相干的统计信息;
    1. whowin@whowin-ThinkPad-T14s:~$ cat /proc/meminfo
    2. MemTotal:       15090452 kBMemFree:         7713808 kBMemAvailable:   11334744 kBBuffers:          155260 kBCached:          3976592 kBSwapCached:            0 kBActive:          1509760 kBInactive:        5128712 kBActive(anon):       3864 kBInactive(anon):  2842564 kBActive(file):    1505896 kBInactive(file):  2286148 kBUnevictable:           0 kBMlocked:               0 kBSwapTotal:       2097148 kBSwapFree:        2097148 kBDirty:                16 kBWriteback:             0 kBAnonPages:       2506628 kBMapped:          1368216 kBShmem:            339912 kBKReclaimable:     163640 kBSlab:             349152 kBSReclaimable:     163640 kBSUnreclaim:       185512 kBKernelStack:       22048 kBPageTables:        52072 kBNFS_Unstable:          0 kBBounce:                0 kBWritebackTmp:          0 kBCommitLimit:     9642372 kBCommitted_AS:   14348500 kBVmallocTotal:   34359738367 kBVmallocUsed:       59772 kBVmallocChunk:          0 kBPercpu:            17856 kBHardwareCorrupted:     0 kBAnonHugePages:         0 kBShmemHugePages:        0 kBShmemPmdMapped:        0 kBFileHugePages:         0 kBFilePmdMapped:         0 kBHugePages_Total:       0HugePages_Free:        0HugePages_Rsvd:        0HugePages_Surp:        0Hugepagesize:       2048 kBHugetlb:               0 kBDirectMap4k:      545488 kBDirectMap2M:     9693184 kBDirectMap1G:     5242880 kB
    复制代码

方法 6:使用体系监视器查看内存



  • 体系监视器是一个图形工具,显示体系历程和资源使用情况;
  • 在桌面上点击 “应用步伐” 菜单,再单击 “工具”,然后选择 “体系监视器”;


  • 在体系监视器中,点击 “资源” 选项卡,可以看到内存使用情况和其他资源使用信息;


方法 7. 使用 glances 查看内存



  • glances 是一种先进的体系监控工具,可提供各种体系资源(包罗内存)的全面信息;
  • 用下面命令安装 glances:
    1. sudo apt install glances
    复制代码
  • 在终端上键入 glances 即可启动;


方法 8. 使用 nmon 查看内存



  • nmon 是另一个体系监视工具,它提供有关各种体系资源(包罗内存)的信息;
  • 使用下面命令安装 nmon:
    1. sudo apt install nmon
    复制代码
  • 安装完成后,在终端键入 nmon 即可启动;

  • 启动会,按 “m” 可查看内存使用情况;


方法 9. 使用 smem 查看内存



  • smem 提供内存使用情况报告,它可以或许更正确地表示应用步伐和历程正在使用的物理内存;
  • 使用下面命令安装 smem:
    1. sudo apt install smem
    复制代码
  • 运行 smem:
    1. whowin@whowin-ThinkPad-T14s:~$ smem
    2.   PID User     Command                         Swap      USS      PSS      RSS
    3. 2383 whowin   /usr/bin/fcitx-dbus-watcher        0      224      246     1412
    4. 2436 whowin   /usr/libexec/gnome-session-        0      480      528     5300
    5. 2623 whowin   /usr/libexec/gsd-screensave        0      728      789     6424
    6. 2535 whowin   /usr/libexec/xdg-permission        0      744      801     6388
    7. 2379 whowin   /usr/bin/dbus-daemon --sysl        0      684      802     3796
    8. 2262 whowin   /usr/lib/gdm3/gdm-x-session        0      760      815     6616
    9. 2410 whowin   /usr/bin/dbus-daemon --conf        0      692      818     4512
    10. 2601 whowin   /usr/libexec/gsd-a11y-setti        0      772      848     7052
    11. 3532 whowin   /snap/chromium/2724/usr/lib        0      304      867     3096
    12. ......
    复制代码
  • USS(Unique Set Size):唯一集大小,即历程独自占用物理内存,只计算历程独自占用的物理内存大小,不包含任何共享的部分;
  • PSS(Proportion Set Size):比例集大小,使用某个共享内存的全部历程均分该共享内存的大小,加上该历程独自占用的内存(USS),即为比例集的大小;
  • RSS(Resident Set Size):驻留集大小,即历程所使用的非互换区的物理内存的大小,该历程独占内存(USS),加上该历程使用的共享内存大小(非均分共享内存),即为驻留集大小。
欢迎订阅 『网络编程专栏』

欢迎订阅 『历程间通讯专栏』



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表