“ 最近发现几个Oracle linux 8.10的客户由于/var/log/pcp/pmlogger目录占用较大,导致系统根分区不足的情况,通过分析是发现是由于pmlogger采集系统性能日志导致”
最近几个在oracle linux 8.10的系统上装19c的客户出现系统目录占用较大,通过分析发现都有共同特性是:/var/log/pcp/pmlogger导致
[root@oracledb lib]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 16G 0 16G 0% /devtmpfs 16G 0 16G 0% /dev/shmtmpfs 16G 202M 16G 2% /runtmpfs 16G 0 16G 0% /sys/fs/cgroup/dev/mapper/ol-root 60G 60G 63M 100% //dev/mapper/ol-home 30G 241M 29G 1% /home/dev/vda1 1014M 360M 655M 36% /boot/dev/vdb1 688G 224G 430G 35% /u01tmpfs 3.1G 12K 3.1G 1% /run/user/42tmpfs 60M 0 60M 0% /var/log/rtlogtmpfs 3.1G 8.0K 3.1G 1% /run/user/0[root@oracledb ~]# cd /var/log/pcp/[root@oracledb pcp]# du -h -d 176K ./pmcd0 ./pmfind476K ./pmie34G ./pmlogger0 ./pmproxy0 ./sa34G .[root@oracledb pcp]# cd pmlogger/[root@oracledb pmlogger]# du -h -d 134G ./localhost.localdomain108K ./oracledb34G .[root@oracledb pcp]#
操作系统版本均为:
[root@oracledb localhost.localdomain]# uname -aLinux oracledb 5.15.0-206.153.7.1.el8uek.x86_64 #2 SMP Wed May 22 20:49:34 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux[root@oracledb localhost.localdomain]# cat /etc/redhat-release Red Hat Enterprise Linux release 8.10 (Ootpa)[root@oracledb localhost.localdomain]# cat /etc/os-release NAME="Oracle Linux Server"VERSION="8.10"ID="ol"ID_LIKE="fedora"VARIANT="Server"VARIANT_ID="server"VERSION_ID="8.10"PLATFORM_ID="platform:el8"PRETTY_NAME="Oracle Linux Server 8.10"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:oracle:linux:8:10:server"HOME_URL="https://linux.oracle.com/"BUG_REPORT_URL="https://github.com/oracle/oracle-linux"ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"ORACLE_BUGZILLA_PRODUCT_VERSION=8.10ORACLE_SUPPORT_PRODUCT="Oracle Linux"ORACLE_SUPPORT_PRODUCT_VERSION=8.10
分析pmlogger
该目录中的数据主要类似:
pmlogger 是 Performance Co-Pilot(PCP)的核心组件,用于采集、归档系统 / 应用性能指标,生成可回放的 PCP 归档日志,支撑离线追溯分析与长期性能基线管理。它通过 PMCD(Performance Metrics Collector Daemon)获取指标,按配置策略记录并维护多卷归档,配合 PCP 工具链实现全链路性能分析。
- 指标采集与归档
- 从本地 / 远程 PMCD 拉取指标,生成包含.meta(元数据)、.index(时间索引)、数据卷(如.0、.1)的归档集,支持跨时间回放。
- 支持内核、CPU、内存、磁盘 I/O、网络、进程、应用(如数据库)等全栈指标,适配自定义衍生指标。
- 灵活采样控制
- 两级日志状态(强制 + 建议):强制层控制 “开 / 关 / 待定” 及采样间隔,建议层在 “待定” 时补充条件触发,适配动态场景。
- 用 pmlogconf 生成 / 修改配置,按指标组设定采样频率,支持白 / 黑名单精确筛选。
- 归档生命周期管理
- 多卷轮转:按大小、时间切分归档卷,避免单文件过大。
- 自动压缩、轮转与清理:systemd 服务(pmlogger_daily)每日执行归档压缩、过期清理(默认保留 2 周)。
- 分布式与高可用部署
- 单主机自监控或 “pmlogger farm” 集中采集多远程主机指标。
- 配套 pmlogger_check 服务自动检查实例状态,异常重启保障采集连续性。
- 离线分析与数据导出
- 配合 pmdumptext、pmrep、pcp2csv 等工具回放归档,导出为文本 / CSV 用于报表与第三方分析。
- 支持基于时间索引快速定位数据,适配事后故障复盘与性能趋势分析。
处理方案
这个本身是一个系统性能指标采集监控的重要工具,但是由于某种原因导致占用磁盘空间过大,而且大部分情况下有另外的监控来取代,引起大部分情况下,可以考虑关闭相关服务,并清空相关日志,避免出现磁盘空间不足的情况
systemctl stop pmloggersystemctl disable pmloggerrm -rf /var/log/pcp/pmlogger/*