首页 > 系统相关 >linux占用内存查询 --------------Linux内存占用分析的几个方法

linux占用内存查询 --------------Linux内存占用分析的几个方法

时间:2023-06-12 14:47:09浏览次数:49  
标签:-------------- 0.0 占用 内存大小 free 命令 内存 Linux

Linux内存占用分析的几个方法

原创 入门小站 入门小站 2023-06-01 21:30 发表于湖北 收录于合集#Linux804个 入门小站 分享运维技巧及10k+Stars的开源项目 265篇原创内容 公众号

【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

内存管理是一个非常重要的任务,Linux内存占用分析的方法不只以上几种,用户可以根据需要选择合适的方法进行使用。对于使用Linux进行开发和运维的人员,熟练使用这些命令和方法能够帮助他们更好的管理系统资源,提高系统性能和稳定性。

1. free命令

free命令可以查看Linux系统的内存使用情况,具体包括内存总量、已使用内存、空闲内存以及 Swap 分区情况。在终端输入 free 命令后会显示以下输出结果:

$ free

              total        used        free      shared  buff/cache   available
Mem:        7878648     4013264     2513048      104044     1352336     3322300
Swap:       8191996         148     8191848

其中,total 行显示系统总内存大小,used 行显示已使用的内存大小,free 行显示空闲的内存大小,buff/cache 行显示的是系统缓存和缓存中的空闲内存,available 行显示可用的内存大小,它并不包括实际没有被内核分配的内存。

2. top命令

top命令是Linux中一个非常常用的命令,它可以用来实时查看Linux系统的进程信息以及系统性能数据等。其中也包括内存占用情况。在终端输入 top 命令后,会显示以下输出结果:

$ top

top - 08:02:44 up  2:57,  1 user,  load average: 0.00, 0.01, 0.03
Tasks: 195 total,   1 running, 193 sleeping,   0 stopped,   1 zombie
%Cpu(s):  1.7 us,  0.7 sy,  0.0 ni, 97.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7878648 total,  2988332 free,  3556336 used,  1333980 buff/cache
KiB Swap:  8191996 total,  8191996 free,        0 used.  3829644 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                          
 2236 root      20   0 1951812 175100  39024 S   0.3  2.2   6:23.08 Xorg                                                                             
   89 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kacpid                                                                            
   91 root      20   0       0      0      0 S   0.0  0.0   0:00.07 kacpi_notify                                                                      
  384 root      20   0       0      0      0 S   0.0  0.0   0:00.03 edac-poller                                                                      
 1027 root      20   0       0      0      0 S   0.0  0.0   0:01.09 ksmtuned                                                                          
   53 root      20   0       0      0      0 S   0.0  0.0   0:54.48 kswapd0  

其中,KiB Mem 行显示系统内存总量、可用内存、使用中的内存和缓存的内存,KiB Swap 行显示Swap分区的情况,而第一列 PID 显示所有正在运行的进程的进程ID。%CPU 和 %MEM 两列分别是进程所占用的 CPU 和内存的百分比。

3. vmstat命令

vmstat命令是一个比较强大的系统监测工具,它可以实时监测各种系统性能指标,包括CPU、内存、磁盘I/O以及虚拟内存等。在终端输入 vmstat 命令后,会显示以下输出结果:

$ vmstat

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  14848  2513048 1493028 3203088    1   28   280   597  470  810  1  1 97  1  0 

其中,第2列 free 显示可用的内存大小,buff 显示缓存内存的大小,cache 显示被文件系统缓存的页面内存大小,swpd 显示 Swap 分区的使用大小,si 和 so 都是换入和换出的大小,bi 和 bo 都是块设备上的输入输出大小。

4. /proc/meminfo文件

/proc/meminfo 是一个虚拟文件,包含了系统运行时各种内存的使用情况和系统信息等。可以使用 cat 命令输出其内容。在终端输入 cat /proc/meminfo 命令后,会显示以下输出结果:

$ cat /proc/meminfo

MemTotal:        7878648 kB
MemFree:         2487376 kB
MemAvailable:    3291020 kB
Buffers:         142492 kB
Cached:          844564 kB
SwapCached:         4696 kB
Active:         4149020 kB
Inactive:       2077392 kB
Active(anon):   1314368 kB
Inactive(anon):  236544 kB
Active(file):   2834652 kB
Inactive(file): 1840848 kB
Unevictable:       9472 kB
Mlocked:           9472 kB
SwapTotal:       8191996 kB
SwapFree:        8191848 kB
Dirty:              48 kB
Writeback:           0 kB
AnonPages:      1461736 kB
Mapped:          485256 kB
Shmem:           541052 kB
Slab:            202068 kB
SReclaimable:    145460 kB
SUnreclaim:       56608 kB
KernelStack:       8416 kB
PageTables:       64664 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:   12156320 kB
Committed_AS:   6562960 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      72808 kB
VmallocChunk:   34359661404 kB
HardwareCorrupted:     0 kB
AnonHugePages:   558080 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB

其中,MemTotal 行显示系统总内存大小,MemFree 行显示空闲内存大小,Cache 行显示被文件系统缓存的内存大小,Buffers 行显示缓存的内存大小。

5. pmap命令

pmap命令主要用来查看进程的内存占用情况。在终端输入 pmap [PID] 命令后,会显示以下输出结果:

$ pmap 1234

1234:   /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysqld.pid
0000000000400000    144K r-x--  /usr/bin/mysqld_safe
0000000000621000   4400K -----  /usr/bin/mysqld_safe
00007f0ba2560000      4K -----  /usr/bin/mysqld_safe
00007f0ba2561000    132K rw---  /usr/bin/mysqld_safe
00007f0ba2583000    276K rw---    [ anon ]
00007f0ba25c2000 146472K r----  /usr/lib/locale/locale-archive
00007f0ba51a1000     48K r-x--  /usr/lib/mysql/plugin/debug.so
...

其中,第1列是内存段的起始地址,第2列是内存段的大小,第3列是权限信息(读、写、可执行等)以及内存段所对应的文件名或[ anon ]表示匿名映射。

加入我的星球一起学习Ansible自动化运维快速入门25个常用Shell脚本细讲,免费提问

图片

【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

图片 入门小站 分享运维技巧及10k+Stars的开源项目 265篇原创内容 公众号 收录于合集 #Linux  804个 上一篇Linux如何使用OpenSSL检查证书下一篇如何在Linux中挂起和恢复进程 阅读 793         写下你的留言    

标签:--------------,0.0,占用,内存大小,free,命令,内存,Linux
From: https://www.cnblogs.com/cherishthepresent/p/17474985.html

相关文章

  • 目录-理解ASP.NET Core
    《理解ASP.NETCore》基于.NET5&.NET6进行整理,旨在帮助大家能够对.NET&ASP.NETCore框架有一个清晰的认识。目录Startup中间件(Middleware)依赖注入(DependencyInjection)主机(Host)配置(Configuration)选项(Options)路由(Routing)文件服务器(FileServer)日......
  • rabbitMq
    rabbitMq一、安装安装准备工具1.Eralng,底下连接已提供otp_win64_20.2.exe存放地址:otp_win64_25.3.2.exe2.rabbitmq,底下链接已提供rabbitmq-server-3.7.4.exe链接:rabbitmq-server-3.11.16.exe————————————————安装第一步:安装otp_win64_20.2.exe,一......
  • Java Agent入门教程
    一、核心逻辑创建一个新的项目(or子module),然后我们新建一个SimpleAgent类:packagecom.raorao.text;importjava.lang.instrument.Instrumentation;/***@Description:启动类*@Author:cxw*@Date:2023/6/1214:18*@Version:1.0**/publicclassM......
  • 计算机组成原理:资源
    让人手痒的在线虚拟仿真实验(自己动手画CPU):无需硬件即可实验:自动测试,自动评分丰富的特色原创实验覆盖重点难点头哥平台:https://www.educoder.net/paths/1426参考:https://mubu.com/app/edit/recent/2-IsoOnM2aD......
  • 注解与反射的学习
    java中的注解和反射学习1.注解1.Annotation是JDK5.0引入的新技术2.作用不是程序本身,可以对程序作出一些解释(这一点和注释(comment)没什么区别)可以被其他程序(如编译器)读取3.Annotation的格式:以“@注释名”在代码中存在,还可以添加一些参数值,例如@SuppressWarnings(value="un......
  • 告警:线上慎用 BigDecimal !
    来源:cnblogs.com/zhangyinhua/p/11545305.html一、BigDecimal概述Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些......
  • Redis集群-哨兵模式搭建(1主2从3哨兵节点)
    Redis集群-哨兵模式搭建(1主2从3哨兵节点)原创 北极星 运维记事 2023-04-2022:47 发表于四川收录于合集#redis8个主机规划类型IP地址端口号主192.168.77.1456379从1192.168.77.1466379从2192.168.77.1476379哨兵1192.168.77.14526379哨兵2......
  • PostgreSQL技术大讲堂 - 第18讲:Tuning Autovacuum
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。Part18:Vacuum空间管理工具内容1:什么是autovacuum?内容2:为什......
  • KingbaseES数据库改写SQL Server数据库CROSS APPLY和OUTER APPLY
     一、功能介绍:CROSSAPPLY和OUTERAPPLY是SQLServer中的一种连接操作,类似于JOIN语句可以将一张表与一个表函数或一个子查询进行关联。表函数是一种返回一个表类型的数据的函数,子查询是一个嵌套在外部查询中的查询。它们可以与表值函数或子查询配合使用,返回左表和右表的匹配结......
  • papamelon 344. 奶牛展览 Cow Exhibition(挑战程序设计竞赛) dp
    地址https://www.papamelon.com/problem/344贝西有权选择让哪些奶牛参加展览。由于负的智商或情商会造成负面效果,所以贝西不希望出展奶牛的智商之和小于零,或情商之和小于零。满足这两个条件下,她希望出展奶牛的智商与情商之和越大越好,请帮助贝西求出这个最大值。输入第一行:......