首页 > 系统相关 >Linux内存监控的12种方法全面掌握系统资源使用情况

Linux内存监控的12种方法全面掌握系统资源使用情况

时间:2024-03-13 10:30:39浏览次数:24  
标签:12 示例 0.0 0.00% free 命令 内存 Linux 系统资源

监控系统的内存使用情况是系统管理和性能优化的关键部分之一。在 Linux 环境下,有多种方法来实现对内存的监控和管理。本文将介绍 12 种常用的方法,涵盖了从基本的命令行工具到更高级的监控工具的使用,帮助您全面掌握系统的资源使用情况。

1. free 命令

free 命令用于显示系统内存的使用情况,包括总内存、已使用内存、空闲内存等。

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        3.1G        1.1G        1.2G        3.5G        2.3G
Swap:          2.0G          0B        2.0G

2. top 命令

top 命令可以实时查看系统的各项资源使用情况,包括内存、CPU、进程等。

top

示例输出:

Tasks: 257 total,   1 running, 256 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.7 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7818.7 total,   1174.9 free,   3291.9 used,   3352.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   4183.2 avail Mem

3. vmstat 命令

vmstat 命令用于显示系统的虚拟内存使用情况,包括内存、磁盘、CPU 等。

vmstat 1 5

示例输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1221008 330940 922332    0    0     0     1   13   19  0  0 100  0  0

4. sar 命令

sar 命令可以收集、报告和保存系统的性能数据,包括内存、CPU、磁盘等方面的信息。

sar -r

示例输出:

08:10:01 PM kbmemfree kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:20:01 PM   1259828  4397864   2285128     29.36    248272   3015904   2381884     15.59   2404508   2014540        52
08:30:01 PM   1243748  4381748   2302040     29.54    248672   3018064   2381884     15.59   2411572   2017944        60

5. /proc/meminfo 文件

/proc/meminfo 文件包含了系统的内存信息,可以通过查看该文件来获取内存使用情况。

cat /proc/meminfo

示例输出:

MemTotal:        7818180 kB
MemFree:         1207196 kB
MemAvailable:    4115164 kB
Buffers:          329540 kB
Cached:          2884056 kB
SwapCached:            0 kB

6. pmap 命令

pmap 命令用于显示进程的内存映射信息,包括进程占用的内存地址、权限、大小等。

pmap PID

示例输出:

0000559b7ffac000   2060K r-x--  /usr/bin/bash
0000559b801cb000    244K r--s-  /usr/lib/locale/locale-archive
0000559b801ff000      4K r----  /usr/lib/locale/locale-archive
...
mapped: 202476K    writeable/private: 456K    shared: 4K

7. smem 命令

smem 命令用于以更友好的方式显示内存使用情况,并支持按照进程进行排序。

smem

示例输出:

  PID User     Command                         Swap      USS      PSS      RSS
    1 root     /sbin/init                      0.00%    0.00%    0.01%    0.01%
    2 root     [kthreadd]                      0.00%    0.00%    0.00%    0.00%
...
 2135 user     /usr/bin/firefox                0.00%    0.51%    1.46%    3.13%

8. atop 命令

atop 命令是一个交互式的系统监控工具,可以显示系统资源使用情况的详细信息。

atop

示例输出:

ATOP - myhostname             2022/01/01   08:00:01               10s elapsed
  PR  VIRT  RES  SHR S  CPU% MEM%   TIME+  COMMAND
   1  2500  456  312 S   0.0  0.0   0:00.01 bash

9. htop 命令

htop 命令是一个交互式的系统监控工具,类似于 top 命令,但提供了更加友好的界面和功能。

htop

10. glances 命令

glances 命令是一个交互式的系统监控工具,可以显示系统各项资源的使用情况,并支持网络监控和插件扩展。

glances

11. Grafana + Prometheus

Grafana 和 Prometheus 是一组流行的开源监控工具,可以实现对系统资源的监控和可视化。

12. 自定义脚本

还可以编写自定义的监控脚本,通过调用系统命令或读取/proc 文件系统来获取系统资源使用情况,并根据需求进行处理和展示。

通过以上 12 种方法,可以全面掌握 Linux 系统的内存使用情况,及时发现和解决资源瓶颈问题,确保系统的稳定性和性能表现。

如果你觉得文章还不错,请大家 点赞、分享、留言 ,因为这将是我持续输出更多优质文章的最强动力!

标签:12,示例,0.0,0.00%,free,命令,内存,Linux,系统资源
From: https://blog.csdn.net/mo3408/article/details/136672916

相关文章

  • 【linux】HTTP资源概念;URL,URI,MIME,静态,动态,伪静态核心名词知识全面讲解
    鱼弦:公众号:红尘灯塔,CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)HTTP资源概念:HTTP资源是通过HTTP协议访问的可识别和可获取的信息。它可以是文本、图像、视频、音频、网页......
  • CF1286
    CF1286CodeforcesRound612(Div.1)CF1286C1&C2link题意这是一道交互题。有一个长度为\(n\)的由小写字母组成的字符串,你需要通过两种操作得到整个字符串:?lr——列出\(s[l\dotsr]\)的所有子串。子串返回的顺序会被随机打乱,并且在每一个子串中,字母的顺序也会被随......
  • 2024-3-12
    上午睡觉,下午一下午课,大物实验老师跟犯病了似的,不过无所谓,晚上去上了双创课,于迅博老师感冒了,下课了去找他,他要赶校车,上校车给我打电话了解情况,上自己车后又给我打电话,打了46分钟,真是负责任啊。老师之间的差距是真的大,3月3号问张继威的问题现在还没回我呢。谈话内容总结:老师建议读......
  • 在Linux中,访问一个站点5xx了,如何定位问题?
    当访问一个托管在Linux服务器上的站点时,如果收到5xx系列的HTTP状态码(如500InternalServerError、502BadGateway、503ServiceUnavailable等),这意味着服务器在处理请求时遇到了问题。定位这类问题通常需要遵循以下步骤:查看服务器错误日志对于Web服务器,如Apache或Nginx,首......
  • 在Linux中,ansible可以解决哪些问题?
    Ansible是一款强大的IT自动化工具,主要用于解决运维过程中面临的诸多挑战,特别适合批量管理和配置大量服务器。以下是Ansible可以帮助解决的一些典型问题:配置管理和标准化:Ansible能够通过Playbook(剧本)的形式编写和组织配置任务,确保在多个服务器上实现一致的系统配置,包括但不限......
  • 在Linux中,如何查看磁盘详细使用情况?
    在Linux系统中,查看磁盘详细使用情况主要有以下几个命令和工具:1.df命令df(diskfree)命令用于查看文件系统的总空间、已使用空间、剩余空间以及使用率等信息。以下是一些基本用法:#显示所有文件系统及其磁盘使用情况,以人类可读的格式(KB、MB、GB等)df-h#显示指定文件系统......
  • 12-多线程
    进程和线程多线程是Java语言的重要特性,大量应用于网络编程、服务器端程序的开发,最常见的UI界面底层原理、操作系统底层原理都大量使用了多线程。我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层就是多线程的应用。UI界面的主线程绘制界面,如果有一个耗时的操作发生则启动新......
  • 在Linux中,如何理解Tcp/ip协议三次握手?
    在Linux(以及其他支持TCP/IP协议的操作系统)中,TCP(TransmissionControlProtocol,传输控制协议)为了建立一个可靠的数据传输连接,采用了三次握手(Three-wayHandshake)的过程来初始化连接。以下是TCP三次握手的详细步骤和解释:第一次握手(SYN):客户端(Client)想要与服务器(Server)建立连接时......
  • Linux软件高级编程-网络--TCP通信--day14
    TCP包头:1.序号:发送端发送数据包的编号2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用)TCP为什么安全可靠:1.在通信前建立三次握手连接  SYN    SYN+ACK    ACK 2.在通信过程中通过序列号和确认号保障数据传输的完整性  本次......
  • 安装JDK11+Tomcat10.0.1+eclipse-jee-2023-12-R-win32-x86_64 配置
    第一步,先双击启动软件:改一下名称:C:\Users\Administrator\eclipse-workspace变成:C:\ProgramFiles\JavaJava:为什么JSP文件要放到SpringBoot工程的src/main/webapp目录下参考文章:https://blog.csdn.net/netyeaxi/article/details/100928105为了看到更具体的页面,可以做个性化......