当前位置:   article > 正文

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

linux 内存占用

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

1. free命令

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

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

2. top命令

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

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

3. vmstat命令

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

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

4. /proc/meminfo文件

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

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

5. pmap命令

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/58978
推荐阅读
  • 通过这篇文章,我们知晓了如何配置Linux静态ip,以及配置后ping不通主机和外网得解决方法。_linux设置静态ip后无法pinglinux设置静态ip后无法ping前言日常学习中,如果Linux中安装了MySQL、nacos、redi... [详细]

  • 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是... [详细]

  • 【Linux】编写第一个小程序:进度条
    学习Linux第一个偏系统层的小程序。【Linux】编写第一个程序进度条文章目录1.预备知识1.1简单认识几个函数1.1.1sleep()1.1.2fflush()1.1.3usleep()1.1.4memset()1.2缓冲区1.3... [详细]

  • 本文提供了多个可以实现在Linux/Ubuntu下进行英文文献阅读的思路,主要推荐使用Zotero的zotero-pdf-translate插件。_ubuntu翻译软件ubuntu翻译软件自己在Windows系统上使用到的英文文献翻译软件是... [详细]

  • 单/多进程程序替换替换原理,exec函数簇【Linux进程程序替换... [详细]

  • 共享内存是SystemV版本的最后一个进程通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同... [详细]

  • 虚拟内存的存在,使得应用程序认为它拥有连续的可用内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。虚拟内存的存在使得大型程序的编写变得更容易,对真正的物理内... [详细]

  • 输出包含一个buffers列,表示缓冲区高速缓存大小,以及一个cache列,表示页缓存大小。输出包含一个buffer列,表示缓冲区高速缓存大小,以及一个cache列,表示页缓存大小。(1)打印有关内核slab缓存的信息,有些用于文件系统缓存... [详细]

  • Linux信号详解,以及在进程中如何处理信号Linux【C编程】信号以及信号处理方式文章目录1.什么是信号?1.1信号是内容受限一种异步通信机制1.2信号由谁发出?1.3信号由谁处理,如何处理2.常见信号3.进程对信号处理3... [详细]

  • 初始化mysqld:[root@localhostmysql]#./bin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql/--datadir=/usr/local/mysq... [详细]

  • 权限理解||umask||粘滞位||c&&c++程序翻译过程||解释语言和编译语言区别)1【Linux】入门(权限理解||umask||粘滞位||c&&c++程序翻译过程||解释语言和编译语言区别)无废话,全干货一.权... [详细]

  • nohupLinux和Unix系统中的一个命令,其作用是在终端退出时,让进程在后台继续运行。它的全称为“nohangup”,意为“不挂起”。nohup命令可以让你在退出终端或关闭SSH连接后继续运行命令nohup命令,在默认情况下(非重... [详细]

  • 可以使用cat连接多个文件、创建新文件、将内容附加到现有文件、查看文件内容以及重定向终端或文件中的输出。(称为“输出重定向运算符”)在其中保存内容,将命令的输出重定向到。(称为“附加重定向运算符”)将附加内容附加/组合到现有文件。把文件中存... [详细]

  • chage用来更改linux用户密码到期信息,包括密码修改间隔最短、最长日期、密码失效时间等。查看某个用户的密码状态。下面是两张图,中文和英文对比学习。设置test6帐户过期时间到2025-01-01。设置test6用户两次密码更改之间间隔... [详细]

  • 复制目录并保留其所有属性(例如权限、时间戳等),可以使用-a选项,它等同于-dR--preserve=all。复制文件时,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。cp(英文全拼:copyfile)命令主要用于复制文件或目录... [详细]

  • tar(英文全拼:tapearchive)命令用于备份文件。tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。由约翰·吉尔摩和杰伊·芬拉森撰写。打包成tar.gz格式压缩包。【Linuxtar命令使用tar命令&... [详细]

  • 是一个用于比较两个文件或目录之间差异的命令。它可以显示两个文件之间的行级别差异,并以易于阅读的格式输出结果。由保罗·艾格特、迈克·海特尔、大卫·海耶斯、理查德·史泰尔曼和LenTower撰写。比较test4.text和test8.text两... [详细]

  • sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它... [详细]

  • less是一个非常常用的文本查看工具,它可以用于查看任意大小的文本文件,支持滚动翻页、搜索、标记等功能。在本文中,我们将详细介绍less命令的用法、参数和实例,并对其背后的原理和相关技术进行简要讲解。less-Ntest4.text把多文件... [详细]

  • 支持反斜线控制的字符转换,前面有斜线的字符将作为转义字符,但是需要要有单引号或者双引号包含,示例:echo-e"\nchegnxuyshitang你好"。此外,也可以直接在文件中写入要写的内容。输出之后不换行,直接显示新行的提示符,示例:e... [详细]

相关标签
  

闽ICP备14008679号