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

 

相关文章
|
1月前
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
251 6
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
116 48
|
14天前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
24天前
|
存储 Prometheus 监控
监控堆外内存使用情况
监控堆外内存使用情况
29 4
|
26天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
32 4
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
1月前
|
缓存 Linux
如何检查 Linux 内存使用量是否耗尽?
何检查 Linux 内存使用量是否耗尽?
|
1月前
|
算法 Linux 开发者
深入探究Linux内核中的内存管理机制
本文旨在对Linux操作系统的内存管理机制进行深入分析,探讨其如何通过高效的内存分配和回收策略来优化系统性能。文章将详细介绍Linux内核中内存管理的关键技术点,包括物理内存与虚拟内存的映射、页面置换算法、以及内存碎片的处理方法等。通过对这些技术点的解析,本文旨在为读者提供一个清晰的Linux内存管理框架,帮助理解其在现代计算环境中的重要性和应用。
|
22天前
|
存储 算法 安全
深入理解Linux内核的内存管理机制
本文旨在深入探讨Linux操作系统内核的内存管理机制,包括其设计理念、实现方式以及优化策略。通过详细分析Linux内核如何处理物理内存和虚拟内存,揭示了其在高效利用系统资源方面的卓越性能。文章还讨论了内存管理中的关键概念如分页、交换空间和内存映射等,并解释了这些机制如何协同工作以提供稳定可靠的内存服务。此外,本文也探讨了最新的Linux版本中引入的一些内存管理改进,以及它们对系统性能的影响。