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

在 Ubuntu 中,可以通过 GUI(图形用户界面)和命令行使用多种方法来监视系统的内存使用情况,监视 Ubuntu 服务器上的内存使用情况并不复杂;了解已使用和可用的内存量对于故障排除和优化服务器性能至关重要,因为内存对系统 I/O 速度至关重要,定期监控内存使用情况有助于诊断潜在的系统问题和优化服务器性能,还可以帮助使用者确定是否需要扩充内存;本文将简要描述在 Ubuntu 上使用命令和工具监视内存使用情况的各种方法。


方法 1:使用 free 命令查看内存

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

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

  • 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.01
    Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   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 st
    MiB Mem :    473.6 total,     32.7 free,     92.4 used,    348.5 buff/cache
    MiB 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+ COMMAND10 root      20   0       0      0      0 I   0.7   0.0 871:36.89 rcu_sched1 root      20   0  168804   6408   4172 S   0.3   1.3  27:35.83 systemd9 root      20   0       0      0      0 S   0.3   0.0 178:24.79 ksoftirqd/015485 root      20   0    6448    996    780 S   0.3   0.2 242:24.27 qemu-ga20887 root      20   0   12184   2264   2092 S   0.3   0.5  32:42.65 sshd21836 root      19  -1  195616 114896 114128 S   0.3  23.7 109:38.57 systemd-journal
    1877591 root      20   0       0      0      0 I   0.3   0.0   0:21.95 kworker/0:1-events2 root      20   0       0      0      0 S   0.0   0.0   0:09.50 kthreadd3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq11 root      rt   0       0      0      0 S   0.0   0.0   1:00.36 migration/012 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/014 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/015 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_kthre18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd19 root      20   0       0      0      0 S   0.0   0.0   0:37.21 khungtaskd20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper21 root       0 -20       0      0      0 I   0.0   0.0   0:00.12 writeback22 root      20   0       0      0      0 S   0.0   0.0   0:01.04 kcompactd023 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd69 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd70 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kblockd
    

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

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

  • 使用如下命令安装 htop

    sudo apt install htop
    
  • 安装好后在终端上键入 htop 即可启动;

  • 输出将显示系统上运行的进程列表,包括它们的 PID、用户、CPU 使用情况和内存使用情况;

    Screenshot of htop


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

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

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

  • /proc/meminfo 文件包含有关系统内存使用情况的详细信息,使用下面命令查看其内容:
    cat /proc/meminfo
    
  • 该命令显示系统内存的详细分类,包括总内存、可用内存、已用内存和其他与内存相关的统计信息;
    whowin@whowin-ThinkPad-T14s:~$ cat /proc/meminfo
    MemTotal:       15090452 kB
    MemFree:         7713808 kB
    MemAvailable:   11334744 kB
    Buffers:          155260 kB
    Cached:          3976592 kB
    SwapCached:            0 kB
    Active:          1509760 kB
    Inactive:        5128712 kB
    Active(anon):       3864 kB
    Inactive(anon):  2842564 kB
    Active(file):    1505896 kB
    Inactive(file):  2286148 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Dirty:                16 kB
    Writeback:             0 kB
    AnonPages:       2506628 kB
    Mapped:          1368216 kB
    Shmem:            339912 kB
    KReclaimable:     163640 kB
    Slab:             349152 kB
    SReclaimable:     163640 kB
    SUnreclaim:       185512 kB
    KernelStack:       22048 kB
    PageTables:        52072 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:     9642372 kB
    Committed_AS:   14348500 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:       59772 kB
    VmallocChunk:          0 kB
    Percpu:            17856 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:         0 kB
    ShmemHugePages:        0 kB
    ShmemPmdMapped:        0 kB
    FileHugePages:         0 kB
    FilePmdMapped:         0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    Hugetlb:               0 kB
    DirectMap4k:      545488 kB
    DirectMap2M:     9693184 kB
    DirectMap1G:     5242880 kB
    

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

  • 系统监视器是一个图形工具,显示系统进程和资源使用情况;

  • 在桌面上点击 “应用程序” 菜单,再单击 “工具”,然后选择 “系统监视器”;

    Screenshot of application and utilities

    Screenshot of system monitor

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

    screenshot-of-resources


方法 7. 使用 glances 查看内存

  • glances 是一种先进的系统监控工具,可提供各种系统资源(包括内存)的全面信息;

  • 用下面命令安装 glances

    sudo apt install glances
    
  • 在终端上键入 glances 即可启动;

    Screenshot of glances


方法 8. 使用 nmon 查看内存

  • nmon 是另一个系统监视工具,它提供有关各种系统资源(包括内存)的信息;

  • 使用下面命令安装 nmon

    sudo apt install nmon
    
  • 安装完成后,在终端键入 nmon 即可启动;

    Screenshot of nmon

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

    Screenshot of nmon


方法 9. 使用 smem 查看内存

  • smem 提供内存使用情况报告,它能够更准确地表示应用程序和进程正在使用的物理内存;
  • 使用下面命令安装 smem
    sudo apt install smem
    
  • 运行 smem
    whowin@whowin-ThinkPad-T14s:~$ smemPID 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),加上该进程使用的共享内存大小(非均分共享内存),即为驻留集大小。

欢迎订阅 『网络编程专栏』

欢迎订阅 『进程间通信专栏』


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/612435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极狐 GitLab 冷知识:使用 Email 也可以创建 Issue?

前言 在使用 GitLab 时,创建 Issue 和 Merge Request 的方法,除了常规的使用 GitLab Web UI 进行操作和通过 API 调用操作,还有一些比较好玩的,比如使用 Email 来创建。 Incoming email 如果是 Self-Manager 的 GitLab 用户&am…

高精度彩色3D相机:开启崭新的彩色3D成像时代

3D成像的新时代 近年来,机器人技术的快速发展促使对3D相机技术的需求不断增加,原因在于,相机在提高机器人的性能和实现多种功能方面发挥了决定性作用。然而,其中许多应用所需的解决方案更复杂,仅提供环境的深度信息是…

分布式数据库原理及技术实验及个人思考

Hive的数据库及表的存储结构体系讨论&#xff1a; 1.显示hive所在数据库的位置 方法一&#xff1a;一次性临时存储 >hive set hive.cli.print.current.dbtrue 方法二&#xff1a;永久存储 在conf文件夹下修改hive-site.xml配置文件&#xff0c;添加 <property> …

解决matplotlib中文乱码问题

一、修改配置文件&#xff0c;一劳永逸的方法 1. 首先&#xff0c;下载SimHei字体&#xff08;即SimHei.tff包&#xff09;下载地址&#xff1a;SimHei.ttf|字体下载 2. 下载好之后&#xff0c;找到matplotlib文件夹&#xff0c;如下图所示&#xff1a; 如果找不到matplotlib…

基于JavaWeb+BS架构+SpringBoot+Vue智能菜谱推荐系统的设计和实现

基于JavaWebBS架构SpringBootVue智能菜谱推荐系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 目 录 目 录 III 第一章 概述 1 1.1 研究背景 1 1.2研究目的及意义 1 1.3…

Digital Audio (HDMI)未插入 用Hdmi连接电脑 显示高清数字音频未插入 win10电脑没声音,喇叭上一个叉❌

先说结论&#xff0c;出现这些问题的原因&#xff1a; 未插入音频设备或者硬件问题&#xff08;10%&#xff09;设置错误&#xff0c;未使用显示器音频 &#xff08;30%&#xff09;音频驱动不兼容或者没有驱动&#xff08;50%&#xff09;其他驱动有问题 &#xff08;10%&…

“Tab“ 的新型可穿戴人工智能项链

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程三级真题解析(判断题)

2023年12月scratch编程等级考试三级真题 判断题 19、下列两段程序的运行效果相同 答案:对 考点分析:考查积木综合使用,重点考查循环积木的使用;左边属于有条件的循环,由变量的值控制,当变量值大于50时,循环停止,而变量始终为零,不满足条件,所以一直循环,和右边的…

白嫖aws创建Joplin server服务器

网上有很多的Joplin服务器的搭建教程&#xff0c;但是基本都是抄来抄去&#xff0c;对初学者实在是太不友好了。 话不多说&#xff0c;说干就干&#xff0c;自己从头找资料搭了一个&#xff0c;这可能是全网最好的Joplin服务器搭建教程了。 aws服务器 aws的服务器还是很香的&…

企业用WhatsApp营销的好处有哪些?

1.建立良好的客户关系 WhatsApp是全球用户喜爱的即时通信软件&#xff0c;使用WhatsApp与客户沟通&#xff0c;可拉进企业和客户双方的距离。使用WhatsApp会话和消息推送功能&#xff0c;企业和用户可实时开展消息对话&#xff0c;及时解决客户咨询与疑虑&#xff0c;构建便捷…

移动通信原理与关键技术学习之信道编解码(5)

先回顾调制的过程&#xff1a;调制就是对信号源的信息进行处理加到载波上&#xff0c;使其变为适合于信道传输的形式的过程&#xff0c;就是使载波随信号而改变的技术。 1.什么是IQ调制&#xff1f; 答&#xff1a;将数据分为两路&#xff0c;分别进行载波调制&#xff0c;两…

PIG框架学习2——资源服务器的配置详解

一、前言 1、pig资源服务器的配置 Spring Security oauth2相关的依赖是在pigx-common-security模块中引入的&#xff0c;其他模块需要进行token鉴权的&#xff0c;需要在微服务中引入pigx-common-security模块的依赖&#xff0c;从而间接引入相关的Spring security oauth2依赖…

20240110在ubuntu20.04下重启samba服务

20240110在ubuntu20.04下重启samba服务 百度搜索&#xff1a;samba restart https://www.python100.com/html/78028.html 重启samba命令详解 更新&#xff1a;2023-05-17 16:04 一、重启samba命令 重启samba可以使用以下命令&#xff1a; /etc/init.d/smb restart 或者 syste…

中国智造闪耀CES | 木牛科技在美国CES展亮相多领域毫米波雷达尖端方案

素有全球科技潮流“风向标”之称的2024国际消费类电子产品展&#xff08;CES&#xff09;&#xff0c;于1月9-12日在美国拉斯维加斯会议中心举办。CES是全球最大的消费电子和消费技术展览会之一&#xff0c;汇集了世界各地优秀的消费电子和科技公司&#xff0c;带着最好的产品来…

uniapp项目怎么删除顶部导航栏

uniapp去掉顶部导航的方法&#xff1a; 1、去掉所有导航栏 "globalStyle": { "navigationBarTextStyle": "white", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#007AFF"…

Apache ActiveMQ RCE CNVD-2023-69477 CVE-2023-46604

漏洞简介 Apache ActiveMQ官方发布新版本&#xff0c;修复了一个远程代码执行漏洞&#xff0c;攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行&#xff0c;从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before 5.1…

Windows系统下python版本Open3D-0.18.0 的快速安装与使用

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、安装Anaconda…

Hive基础知识(八):Hive对数据库的增删改查操作

1. 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment]#注释 [LOCATION hdfs_path]#指定当前库的hdfs目录 [WITH DBPROPERTIES (property_nameproperty_value,...)]; #备注创建作者和创建时间 1&#xff09;创建一个数据库&#xff0c;数据…

Linux 常用进阶指令

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…

最实用的 8 个免费 Android 数据恢复软件

如果您正在寻找最好的免费 Android 数据恢复软件&#xff0c;那就不用再犹豫了&#xff0c;因为我已经列出了最好的软件。不可否认&#xff0c;智能手机和平板电脑等 Android 设备正在与技术一起发展。与以前相比&#xff0c;它们也更加融入了我们的日常生活。 Android 智能手…