Linux记录内存历史使用情况

0    142    1

Tags:

👉 本文共约2391个字,系统预计阅读时间或需9分钟。

在 Linux 系统中,监控内存使用的历史情况可以通过以下几种方法来实现:


1. 使用 sar 命令

sarsysstat 工具的一部分,可以定期记录系统性能数据,包括内存使用情况。

安装 sysstat

配置并启用服务

/etc/sysconfig/sysstat 文件是 sysstat 工具的配置文件,用于控制其日志保留策略、压缩设置和数据收集选项等。sar生成的日志文件默认存储在 /var/log/sa/ 目录下,以下是每个配置项的详细解释:

  1. HISTORY=28

    • 含义:设置 sysstat 保存日志文件的时间(单位:天)。
    • 详细说明
      • 默认值为 28 天。
      • 如果设置为大于 28 天(如 30、60 等),日志文件会被保存在按月份分类的目录中(例如 /var/log/sa/YYYYMM)。
      • 超过保留时间的日志会被删除。
  2. COMPRESSAFTER=31

    • 含义:指定日志文件在多长时间后自动压缩(单位:天)。
    • 详细说明
      • 超过设置的天数后,sasar 文件将被压缩以节省存储空间。
      • 压缩工具由 ZIP 选项指定(如 gzip 或 bzip2)。
  3. SADC_OPTIONS="-S DISK"

    • 含义:为 sadc(系统活动数据收集器)设置参数,控制采集哪些系统指标。
    • -S DISK 的含义
      • 启用磁盘 I/O 统计信息的收集。
      • 如果不设置此选项,则不会采集磁盘相关统计信息。
    • 其他选项示例
      • -S INT:收集中断统计信息。
      • -S XALL:收集所有可能的统计信息。
  4. ZIP="bzip2"

    • 含义:指定用于压缩日志文件的工具。
    • 详细说明
      • 可选值:gzipbzip2(或其他系统安装的压缩工具)。
      • 默认值为 gzipbzip2 压缩率更高,但速度较慢。

查看内存历史使用

  • %memused:已使用内存的百分比。
  • kbmemfree:空闲内存大小。
字段含义
kbmemfree可用物理内存大小(以 KB 为单位)。
kbmemused已用物理内存大小(以 KB 为单位)。
%memused物理内存使用率(kbmemused / 总内存)。
kbbuffers缓冲区内存大小(以 KB 为单位,用于存储块设备 I/O)。
kbcached缓存内存大小(以 KB 为单位,用于存储文件系统数据)。
kbcommit系统承诺分配的虚拟内存大小(以 KB 为单位,可能包含交换空间)。
%commitkbcommit 占总内存(包括交换空间)的百分比。

2. 使用 vmstat 命令

vmstat 可以显示系统的内存使用趋势。

查看内存使用历史

此命令每隔 5 秒采样一次,共采样 10 次。


3. 使用 free 定时采集数据

通过 cron 定期运行 free 命令,将内存使用情况保存到日志文件。

定时任务示例

创建一个脚本,例如 /opt/mem_usage.sh

为脚本添加可执行权限:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复