作者:吴业亮
博客:wuyeliang.blog.csdn.net

使用systemctl和systemd-cgtop命令查询glusterd服务占用内存超31.0G,而使用top命令查询glusterd服务占用内存仅512M左右。

# systemctl status  glusterd
● glusterd.service - GlusterFS, a clustered file-system serverLoaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled)Active: active (running) since Tue 2020-06-30 10:12:05 CST; 3 weeks 1 days agoDocs: man:glusterd(8)Main PID: 9839 (glusterd)Tasks: 93 (limit: 7372)Memory: 31.0GCPU: 1w 1d 18h 51min 12.994sCGroup: /system.slice/glusterd.service├─1890 /usr/sbin/glusterfsd -s node3 --volfile-id bcache2.node3.data2-data -p /var/run/gluster/vols/bcache2/node3-data2-data.pid -S /var/run/gluste├─1938 /usr/sbin/glusterfsd -s node3 --volfile-id disk.node3.data-data -p /var/run/gluster/vols/disk/node3-data-data.pid -S /var/run/gluster/794789├─9839 /usr/sbin/glusterd -p /run/glusterd.pid --log-level INFO└─9877 /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/log/glusterfs/glusterJun 30 10:12:03 node3 systemd[1]: Starting GlusterFS, a clustered file-system server...
Jun 30 10:12:05 node3 systemd[1]: Started GlusterFS, a clustered file-system server.

原因分析:

systemd管理的服务(包括systemctl和systemd-cgtop)中显示的内存通过查询CGroup对应的memory.usage_in_bytes得到。top是直接统计/proc下内存相关信息计算得出。两者的统计方法不同,不能直接比较。

一般来说,业务进程使用的内存主要有以下几种情况:

  • anon_rss:用户空间的匿名映射页(Anonymous pages in User Mode address spaces),比如调用malloc分配的内存,以及使用MAP_ANONYMOUS的mmap。当系统内存不够时,内核可以将这部分内存交换出去。
  • file_rss:用户空间的文件映射页(Mapped pages in User Mode address spaces),包含map file和map tmpfs,前者比如指定文件的mmap,后者比如IPC共享内存。当系统内存不够时,内核可以回收这些页,但回收之前可能需要与文件同步数据。
  • file_cache:文件缓存(page in page cache of disk file),普通读写(read/write)文件时产生的文件缓存。当系统内存不够时,内核可以回收这些页,但回收之前可能需要与文件同步数据。
  • buffer pages:属于page cache,比如读取块设备文件时的相关缓存。

其中anon_rss和file_rss属于进程的RSS,file_cache和buffer pages属于page cache。简单来说:

  • top里的RSS = anon_rss + file_rss,SHR = file_rss。
  • CGroup里的memory.usage_in_bytes = cache + RSS + swap。
    由上可知,syestemd相关命令和top命令的内存占用率含义不同,所以查询结果不同。

使用systemctl和top命令查询服务占用内存不同相关推荐

  1. Top命令查询结果界面参数详解

    Linux服务器性能分析可以使用top命令,可以查看cpu使用率等等 输入top命令,界面如下(ubuntu) 整体统计信息 第一行:系统运行状态和平均负载 ​ 第一个参数:目前的时间 :10:14分 ...

  2. Linux TOP命令查询结果分析

    top命令通常都是用来查看当前系统情况的命令:具体参数可以 top - 去查看 第一行主要是介绍当前系统运行了54天 当前5个登录用户 load average表示系统平均负载(在特定时间间隔内运行队 ...

  3. 通过CMD命令查询端口占用追查追踪EXE/进程/反电脑木马病毒的方法

    有时候老是担心自己电脑是否中了木马病毒,但是因为后台进程程序又太多而无从查起. 有时候我们在开发某些程序时经常遇到端口被占用的情况. 有时候想看看端口是否是病毒可疑程序在运行. 那就往下看吧,可能会对 ...

  4. 云服务器 ps,top 命令查询异常(结果为空也是)

    系统为centos8,解决之后才想起来发博客记录,所以就一张截图 1,进服务器半天才能进去,而且很卡,这时候 free -h 看看内存 2,发现内存满了,netstat -anpt 查看下网络连接,看 ...

  5. 解决rsyslogd服务占用内存高

    一.概述 使用top命令查看内存占用时,发现rsyslogd内存占用很高. 二.排查 1.journalctl -u rsyslog查看状态 2.tail /var/log/messages查看mes ...

  6. shell脚本中使用top命令查看cpu或内存情况的技巧

    在嵌入式系统在做高低温试验的过程中,需要实时记录多个信息,用于分析在故障时刻的数据,辅助判断故障可能产生的原因,如系统重新启动前内存.cpu的占用情况,温度的上升情况等等,今天仅分析cpu和内存的数据 ...

  7. oracle12cnolog,oracle12c 服务占用内存太大,oracle调整内存解决方法

    直接通过sqlplus命令行处理: 1.查看当前oracle内存占用情况: C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 12. ...

  8. MacOS使用top命令查看进程使用内存

    在linux中我们一般会使用top或ps命令查看进程的内存.CPU等资源使用情况,但是MacOS计算内存方式有点不太一样,什么意思呢?就是说用ps命令查看进程的内存值和在活动监视器中看到的内存值不一样 ...

  9. Linux: Top命令查询结果参数详解

    1.top  -H -p 16482  (某个进程内部线程的运行情况) 整体统计信息 第一行:系统运行状态和平均负载 ​第一个参数:目前的时间 :10:14分 ​第二个参数:系统目前运行的时间:运行了 ...

  10. Ubuntu查看服务占用内存情况

    1.sudo docker stats 2.sudo free -m 3.sudo top 4.df -h 5.du -hs /var/* | sort -rh | head -10

最新文章

  1. MySQL 行锁功过:怎么减少行锁对性能的影响
  2. java高级工程师开放面试题集二
  3. python 守护程序检测进程是否存在_python创建守护进程的疑问
  4. 1074. Reversing Linked List (25)
  5. debian ubuntu 记录系统启动信息
  6. 如何用手机打开dcm格式图片_实现原始Dicom自动转换BIDS格式 ——Heudiconv
  7. TCP/IP and Socket
  8. 浅谈Spark几种不同的任务提交相关脚本(以Spark 1.5.0为例)
  9. 漫话:如何给女票解释华为鸿蒙OS是怎样牛逼实现跨平台的?
  10. vue string转date_进阶高级前端,这9种Vue技术你掌握了吗?
  11. Atitit pagging翻页与按需加载图像 vue lazyload懒加载目录1.1. 翻最好就是不翻页直接加载一千数据咯 11.2. 使用VueLazyload 11.3. 五.更加方
  12. 高颜值智能存储 华三魔术家M2无线云盘评测
  13. Excel 批量删除自定义名称
  14. 论文文献综述的题目是什么样的,应该怎么写?
  15. Docker Registry搭建私有镜像仓库(干货)http/https
  16. 阿里云mysql1227_Navicat连接阿里云Mysql遇到的的坑
  17. win10照片查看器恢复办法
  18. ML 2021 Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth
  19. linux monitor 命令,Process Monitor(简称Procmon)发布Linux版,附使用方法
  20. Layui数据表格分页参数详解

热门文章

  1. 微信小程序picker组件只选择年月
  2. 部署前端项目到服务器过程详解
  3. python seek()和tell()函数简介
  4. 满分题库-二级建筑师工程法规考试宝典
  5. 【亲测可用】安装Qt提示“无法下载存档 http://download.qt.io/online/qtsdkrepository...“
  6. 彭博万字曝光:FTX帝国崩塌背后 SBF父母参与公司经营
  7. IT外包能够为企业带来哪些优点和劣势?
  8. SegmentFault 技术周刊 Vol.14 - 进阶 Vue 2.0
  9. 《云计算框架与应用课程论文》
  10. [Luogu P3312] [BZOJ 3529] [SDOI2014]数表