在 Ubuntu 中,可以通过 GUI(图形用户界面)和命令利用用多种方法来监视体系的内存使用情况,监视 Ubuntu 服务器上的内存使用情况并不复杂;相识已使用和可用的内存量对于故障清除和优化服务器性能至关告急,因为内存对体系 I/O 速度至关告急,定期监控内存使用情况有助于诊断潜在的体系问题和优化服务器性能,还可以资助使用者确定是否需要扩充内存;本文将简要形貌在 Ubuntu 上使用命令和工具监视内存使用情况的各种方法。
方法 1:使用 free
命令查看内存
- free
命令显示体系中可用和已使用的内存量,要使用此命令,请打开终端并键入以下命令: - 输出将显示内存总量、已用内存、可用内存和共享内存,输出还将显示缓冲区和缓存内存;
- whowin@vm448813:~$ free
- total used free
- shared buff/cache availableMem: 484936 108308 10336 248 366292 366360Swap: 239696 25588 214108
复制代码 方法 2:使用 top
命令查看内存
- top
命令显示体系历程及其资源使用情况,包罗内存使用情况,在终端上键入 top
即可启动该命令; - 输出将显示体系上运行的历程列表,包罗它们的 PID、用户、CPU 使用情况和内存使用情况,内存使用情况(MiB Mem)和互换内存使用情况(MiB Swap)的单元为 MiB 大概 KiB,1 MiB 为 10242 bytes,1 KiB 为 1024 bytes;
- top
- - 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
- 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
- , 92.4 used, 348.5 buff/cacheMiB Swap: 234.1 total, 209.1 free
- , 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
:
- 安装好后在终端上键入 htop
即可启动;
- 输出将显示体系上运行的历程列表,包罗它们的 PID、用户、CPU 使用情况和内存使用情况;
方法 4. 使用 vmstat 命令查看内存
- vmstat 是一个报告虚拟内存统计信息的工具,它提供有关历程、内存、分页、块 I/O、陷阱和 CPU 活动的信息;
- 在终端上键入 vmstat 即可使用;
- 查看 “swpd”(已使用的互换区)和 “free
”(可用内存)列,相识有关内存使用情况的详细信息;- whowin@vm448813:~$ vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free
- 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 文件包含有关体系内存使用情况的详细信息,使用下面命令查看其内容:
- 该命令显示体系内存的详细分类,包罗总内存、可用内存、已用内存和其他与内存相干的统计信息;
- whowin@whowin-ThinkPad-T14s:~$ cat /proc/meminfo
- 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:
- 在终端上键入 glances 即可启动;
方法 8. 使用 nmon 查看内存
- nmon 是另一个体系监视工具,它提供有关各种体系资源(包罗内存)的信息;
- 使用下面命令安装 nmon:
- 安装完成后,在终端键入 nmon 即可启动;
- 启动会,按 “m” 可查看内存使用情况;
方法 9. 使用 smem 查看内存
- smem 提供内存使用情况报告,它可以或许更正确地表示应用步伐和历程正在使用的物理内存;
- 使用下面命令安装 smem:
- 运行 smem:
- whowin@whowin-ThinkPad-T14s:~$ smem
- PID User Command Swap USS PSS RSS
- 2383 whowin /usr/bin/fcitx-dbus-watcher 0 224 246 1412
- 2436 whowin /usr/libexec/gnome-session- 0 480 528 5300
- 2623 whowin /usr/libexec/gsd-screensave 0 728 789 6424
- 2535 whowin /usr/libexec/xdg-permission 0 744 801 6388
- 2379 whowin /usr/bin/dbus-daemon --sysl 0 684 802 3796
- 2262 whowin /usr/lib/gdm3/gdm-x-session 0 760 815 6616
- 2410 whowin /usr/bin/dbus-daemon --conf 0 692 818 4512
- 2601 whowin /usr/libexec/gsd-a11y-setti 0 772 848 7052
- 3532 whowin /snap/chromium/2724/usr/lib 0 304 867 3096
- ......
复制代码 - USS(Unique Set Size):唯一集大小,即历程独自占用物理内存,只计算历程独自占用的物理内存大小,不包含任何共享的部分;
- PSS(Proportion Set Size):比例集大小,使用某个共享内存的全部历程均分该共享内存的大小,加上该历程独自占用的内存(USS),即为比例集的大小;
- RSS(Resident Set Size):驻留集大小,即历程所使用的非互换区的物理内存的大小,该历程独占内存(USS),加上该历程使用的共享内存大小(非均分共享内存),即为驻留集大小。
欢迎订阅 『网络编程专栏』
欢迎订阅 『历程间通讯专栏』
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |