linux 内存监控

简介: linux 内存监控

#内存和交换空间统计信息

sar -r -s 00:00:00 -e 23:59:59 -f /var/log/sr/saDD

这个命令将输出一系列关于系统内存使用的统计信息。

kbmemfree: 空闲内存的大小(以KB为单位)。//free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused: 已使用的内存大小(以KB为单位)。///free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused: 已使用内存占总内存的百分比。

kbbuffers: 缓冲区使用的内存大小(以KB为单位)。

kbcached: 缓存使用的内存大小(以KB为单位)。  //free命令中的buffer和cache.

kbcommit: 内核已经承诺分配但尚未分配的内存大小(以KB为单位)。//保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit: 已经承诺分配但尚未分配内存占总内存的百分比。//kbcommit与内存总量(包括swap)的一个百分比.<<<<内存资源是否充足???

Kbactive:活动内存量(以千字节计算)(最近使用的内存,通常不会被收回,除非绝对必要)

kbinact:不活动内存量(以千字节计算的内存(最近使用的内存),更有资格被用于其他目的)。

kbdirty:以KB为单位的内存量等待写入磁盘

# 内存分页监控

sar -B /sar -W

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

sar -x ALL

Set up hugemem kernel.

###################

ppggssccaannkk/s : kswapd(后台回收线程) 每秒扫描的 page 个数。  // 一种是后台内存回收,唤醒 kswapd 内核线程,异步回收的.

pgscand/s: 应用程序在内存申请过程中每秒直接扫描的 page 个数。   // 直接内存回收导致的,增大 min_free_kbytes 这个配置选项来及早地触发后台回收.

pgsteal/s: 扫描的 page 中每秒被回收的个数(ppggssccaannkk+pgscand)。

/proc/zoneinfo

Node 0, zone   Normal

 pages free     15234

       min      10768 页最小阈值(pages_min);

 如果剩余内存(pages_free)小于页最小阈值(pages_min),说明用户可用内存都耗尽了,此时就会触发直接内存回收,这时应用程序就会被阻塞,因为两者关系是同步的。

       low      13460 页低阈值(pages_low);  <<<

 如果剩余内存(pages_free)在页低阈值(pages_low)和页最小阈值 (pages_min)之间,说明内存压力比较大,剩余内存不多了。这时 kswapd0 会执行内存回收,直到剩余内存大于高阈值(pages_high)为止。

       high     16152 页高阈值(pages_high);

 

相关文章
|
4天前
|
消息中间件 算法 Linux
【Linux】详解如何利用共享内存实现进程间通信
【Linux】详解如何利用共享内存实现进程间通信
|
3天前
|
监控 Java 网络性能优化
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
本文介绍了 Kubernetes 中的容器工作内存(WorkingSet)概念,它用于表示容器内存的实时使用量,尤其是活跃内存。
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
|
4天前
|
存储 Linux 程序员
【操作系统原理】—— Linux内存管理
【操作系统原理】—— Linux内存管理
9 0
|
4天前
|
Java Linux Arthas
linux上如何排查JVM内存过高?
linux上如何排查JVM内存过高?
594 0
|
4天前
|
监控 Linux API
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
16 4
|
4天前
|
监控
LabVIEW监控VI中的执行时间和内存使用情况
LabVIEW监控VI中的执行时间和内存使用情况
14 1
|
4天前
|
Arthas Prometheus 监控
JVM工作原理与实战(二十九):监控内存泄漏的工具
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了解决内存溢出的步骤、Top命令、VisualVM、Arthas、Prometheus + Grafana等内容。
21 0
|
4天前
|
消息中间件 存储 Unix
【探索Linux】P.15(进程间通信 —— system V共享内存)
【探索Linux】P.15(进程间通信 —— system V共享内存)
21 0
|
4天前
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程