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);

 

相关文章
|
3月前
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
30天前
|
缓存 Linux
linux 手动释放内存
在 Linux 系统中,内存管理通常自动处理,但业务繁忙时缓存占用过多可能导致内存不足,影响性能。此时可在业务闲时手动释放内存。
98 17
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1081 6
|
3天前
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
62 48
|
1月前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
103 20
|
2月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
171 7
|
3月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
254 48
|
2月前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
260 3
|
2月前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
3月前
|
存储 Prometheus 监控
监控堆外内存使用情况
监控堆外内存使用情况
88 4