centos stream8系统资源占用高怎么办
CentOSStream8资源占用高的定位与处置
一、快速定位瓶颈
先看整体负载与资源概况:使用命令查看CPU、内存、I/O、负载与占用最高的进程。
命令示例:
top/htop(按P按CPU排序、按M按内存排序)
ps-eopcpu,pid,user,args|sort-k1-r|head-10
uptime(看1/5/15分钟负载)
vmstat2(关注r、us、sy、wa、si、so)
iostat-x2(关注%util、await、svctm、r/s、w/s)
sar-u2(历史/实时CPU)
判断要点:
CPU使用率高+wa低:多为用户态计算密集(应用/脚本/死循环)。
CPU使用率不高但负载高:多为I/O等待或不可中断D状态进程导致。
si/so持续不为0:内存紧张,发生换页,常伴随kswapd0CPU升高。
若无明显进程占用,可能是多个服务叠加或实例规格不足。
二、CPU占用高的处理
定位并处置异常进程:
用top/ps找到高占用PID,优先尝试优雅终止:kill
若进程处于D状态(不可中断睡眠),通常无法被kill,需恢复其依赖资源或重启系统。
若为应用自身问题:
更新到稳定版本、回滚/重装异常版本,排查死循环/正则回溯/频繁重建连接等代码路径。
若为系统或驱动问题:
执行系统更新(dnf/yumupdate-y),并更新相关驱动/内核模块。
临时缓解与兜底:
对关键进程使用nice/renice降低调度优先级,避免抢占业务关键任务。
业务允许时重启以快速恢复(生产谨慎)。
三、内存占用高或Swap抖动的处理
快速判断:
free-h查看可用内存与Swap;若si/so持续>0或kswapd0占用高,说明内存不足引发换页。
处置顺序:
释放可回收缓存(仅临时缓解,不建议长期依赖):
sync
echo3>/proc/sys/vm/drop_caches
调整vm.swappiness(减少换页倾向,示例设为10):
sysctlvm.swappiness=10
持久化:在/etc/sysctl.conf添加vm.swappiness=10
增加或优化Swap:
查看:free-h、swapon-s
新增Swap文件/分区并启用(示例):
创建:ddif=/dev/zeroof=/swapfilebs=1Mcount=4096
设权限:chmod600/swapfile
格式化:mkswap/swapfile
启用:swapon/swapfile
持久化:/etc/fstab添加“/swapfileswapswapdefaults00”
减少内存占用的根因:
关闭不必要的服务/自启项(如postfix、未使用的监控/代理)。
优化应用内存配置(连接池、缓存大小、并发数)。
必要时扩容内存或分离高负载服务到独立实例。
四、磁盘I/O与文件系统导致的负载高
定位I/O:
iostat-x2观察%util(接近100%表示设备饱和)、await(高表示队列等待长)、读写速率。
vmstat2的wa高表示I/O等待重。
优化手段:
调整I/O调度器(示例将sda设为deadline):
查看:cat/sys/block/sda/queue/scheduler
临时:echodeadline>/sys/block/sda/queue/scheduler
永久:在/etc/default/grub的GRUB_CMDLINE_LINUX增加elevator=deadline,然后执行grub2-mkconfig-o/boot/grub2/grub.cfg
调整脏页刷写(示例:vm.dirty_ratio=50,vm.dirty_background_ratio=10):
sysctlvm.dirty_ratio=50
sysctlvm.dirty_background_ratio=10
持久化到/etc/sysctl.conf
降低文件系统元数据写入:
/etc/fstab为数据盘增加noatime,nodiratime(减少访问时间更新)。
若仍瓶颈:考虑更快磁盘(SSD/NVMe)、优化应用I/O模式(顺序写、合并写、缓存)。
五、系统维护与长期优化建议
保持系统与软件及时更新(dnf/yumupdate-y),修复性能回归与漏洞。
关闭无用服务/自启项,减少常驻占用;按需精简firewalld/SELinux策略,避免误配置导致反复告警与额外开销(不建议直接长期关闭SELinux,优先修正策略)。
配置日志轮转与清理(如logrotate),避免日志膨胀导致磁盘占满引发I/O抖动。
建立监控与告警(如top/vmstat/iostat基线、历史sar、应用日志),在负载升高时提前介入。
版本与支持:
CentOSStream8已于2024-05-31停产(EOL),建议规划升级到CentOSStream9或其他仍在维护的发行版,以获得更好的安全与性能修复支持。

