首页 > 系统相关 >麒麟系统一直free命令看内存占用90%但是top命令看每个程序占用内存只有20%,怎么查找什么问题导致的这种情况

麒麟系统一直free命令看内存占用90%但是top命令看每个程序占用内存只有20%,怎么查找什么问题导致的这种情况

时间:2023-12-07 13:44:59浏览次数:24  
标签:smem 占用 free 命令 内存 top

麒麟系统一直free命令看内存占用90%但是top命令看每个程序占用内存只有20%,怎么查找什么问题导致的这种情况

 

这种情况可能是因为 Linux 系统的内存管理机制导致的。free 命令和 top 命令使用不同的方式来报告内存使用情况,因此可能会看到不同的结果。

free 命令显示的内存使用情况包括被内核缓存和用于磁盘 I/O 缓冲的内存。这部分内存实际上是可以被程序使用的,但它们不会被 top 命令等工具列为已用内存。因此,在使用 free 命令时,会看到系统的内存占用较高,而 top 命令看到的各个进程的内存使用率可能较低。

要更全面地了解系统内存的使用情况,你可以使用 smem 工具或者更详细的 proc 文件系统。下面是一些可能有助于进一步分析的步骤:

  1. 使用 smem 命令

    bash
    sudo apt-get install smem
    smem -rsio

     

    smem 提供了比 top 更详细的内存使用信息,可以帮助你更好地理解内存分配情况。

  2. 查看 /proc/meminfo 文件

    bash
    cat /proc/meminfo

     

    /proc/meminfo 文件包含了系统的内存信息,包括内存总量、空闲内存、缓存等。这可以帮助你深入了解各个内存组件的使用情况。

  3. 检查内存泄漏

    使用工具如 valgrindmtrace 来检查是否存在内存泄漏。内存泄漏可能导致系统长时间运行后内存占用逐渐增加。

  4. 检查系统日志

    查看系统日志文件,例如 /var/log/syslog/var/log/messages,以查找与内存相关的任何错误或警告信息。

总的来说,通过综合使用以上工具和方法,你可以更好地了解系统内存使用情况,并找出可能导致高内存占用的问题。

标签:smem,占用,free,命令,内存,top
From: https://www.cnblogs.com/yeziwinone/p/17881819.html

相关文章

  • docker基本命令
    1.基本命令dockerps查看所有运行中的DOCKERdockerps-a查询所有运行+非运行的dockerdockerlogs<容器id或容器名> 查看容器日志dockerlogs-f <容器id或容器名> 实时查看容器日志docker run--name《容器别名》--network《自定义网段》-d 《容器imgs》:<版本>......
  • OGG源端info all 命令显示 Lag at Chkpt 状态为 unknown
    GGSCI(dwdb01)10>infoallProgramStatusGroupLagatChkptTimeSinceChkptMANAGERRUNNINGEXTRACTRUNNINGE_CST00:00:0400:00:08EXTRACTRUNNINGE_EMPunknown00:01:34EXTRACTRUNNINGE_GI......
  • uni-app 基础架构搭建 ts+vue3 命令行
    1. 安装全局degitnpminstall-gdegit2.创建工程my-vue3-ts-project#创建以javascript开发的工程npxdegitdcloudio/uni-preset-vue#vitemy-vue3-ts-project#创建以ts开发的工程npxdegitdcloudio/uni-preset-vue#vite-tsmy-vue3-ts-project3进入目录cdmy-v......
  • 共享内存技术调研
    共享内存技术调研1.     研究目的在调研仿真分布式解决方案时遇到一个问题,在服务器中不同软件之间如何高效的进行通讯,这里涉及到了不同的操作系统(windows和Linux),不同的使用功能(虚实融合,数字仿真),需求不同需要的信息传递效率要求不同,因此需要调研现有的技术,找到适合使用......
  • 文件目录类命令
    pwd显示当前目录的绝对路径基本语法ls[选项][目录或是文件]列出目录内容,不指定目录则默认当前目录选项说明-a,全部的文件,连同隐藏文档。-l,长数据串列出,包含文件属性与权限等等数据,等价于“ll”显示说明每行列出的信息依次是:文件类型与权限,链接数,文件属主,文件数组,文件大小用byt......
  • Maven 环境变量配置 'mvn' 不是内部或外部命令,也不是可运行的程序或批处理文件
    在cmd里面输入对应的mvn命令出现了这行提示,说明你的maven环境变量配置有问题,需要重新配置1、添加M2_HOME和MAVEN_HOME在系统变量里面添加M2_HOME和MAVEN_HOME,都指向你的本地maven安装路径 2、添加用户变量PATH中3、校验在cmd中输入mvn-version出现你对应的maven......
  • Golang os包代码示例:获取命令行参数、获取环境变量、创建和删除文件、检查文件或目录
    以下是一些示例代码,展示了如何使用os包进行操作系统相关的操作:获取命令行参数:packagemainimport( "fmt" "os")funcmain(){ args:=os.Args fori,arg:=rangeargs{ fmt.Printf("Argument%d:%s\n",i,arg) }}获取环境变量:packagemainimport( "f......
  • Golang flag包:命令行参数解析入门代码示例
    以下是一个示例代码,展示了如何使用flag包处理命令行参数:packagemainimport( "flag" "fmt")funcmain(){ //定义命令行参数对应的变量 varnamestring varageint varisAdminbool //绑定命令行参数与变量 flag.StringVar(&name,"name","","En......
  • Golang flag包:nginx命令行参数解析代码示例
    flag-命令行参数解析在写命令行程序(工具、server)时,对命令参数进行解析是常见的需求。各种语言一般都会提供解析命令行参数的方法或库,以方便程序员使用。如果命令行参数纯粹自己写代码解析,对于比较复杂的,还是挺费劲的。在go标准库中提供了一个包:flag,方便进行命令行解析。注:区分......
  • vim编辑器命令模式——撤销与时间旅行
    原创:厦门微思网络Vi介绍Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后......