💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
应用服务器,cpu 占用高导致系统读写、运行速度慢。 问题分析步骤: 1) 首先,使用 top 命令,查看进程的 CPU 占用情况及系统负载情况。 2) 按键 shift+p 按照 cpu 使用率进行排序,查看使用率最高的进程,确认是应用厂商的服务还是系统自带的,若是应用厂商的服务先与对应的应用厂商联系看看是否可以重启服务,若是系统服务则需要判定该服务是否可以重启,或者需要重启服务器,具体问题需要遇到后具体分析。 ![](https://img.kancloud.cn/fc/fa/fcfa03c59dda1c59ebd1c669f9c82bf6_631x326.png) 查看上图各选项,分析系统负载 load average 值:Load average:0.00, 0.00, 0.00 三个数值的意思为系统在某段时间内的负载值,即:1 分钟、5 分钟、15 分钟。一般来说,每个 CPU 内核当前活动进程数不大于 3,则系统运行表现良好! 当然这里说的是每个 cpu 内核,也就是如果你的主机是四核 cpu 的话,那么只要uptime 最后输出的一串字符数值小于 12 即表示系统负载不是很严重。 3) 配合 vmstat 命令,分析 CPU 负载。 ![](https://img.kancloud.cn/a6/0b/a60bc9030a65282d3f31e92d9b1ce06b_634x226.png) 结果分析: 1 procs r 列表示运行和等待 cpu 时间片的进程数,如果长期大于 1,说明 cpu 不足,需要增加 cpu。 b 列表示在等待资源的进程数,比如正在等待 I/O、或者内存交换等。 2 cpu 表示 cpu 的使用状态 us 列显示了用户方式下所花费 CPU 时间的百分比。us 的值比较高时,说明用户进程消耗的 cpu 时间多,但是如果长期大于 50%,需要考虑优化用户的程序。 sy 列显示了内核进程所花费的 cpu 时间的百分比。这里 us + sy 的参考值为 80%,如果 us+sy 大于 80%说明可能存在 CPU 不足。 wa 列显示了 IO 等待所占用的 CPU 时间的百分比。这里 wa 的参考值为 30%,如果 wa 超过 30%,说明 IO 等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。 id 列显示了 cpu 处在空闲状态的时间百分比 3 system 显示采集间隔内发生的中断数 in 列表示在某一时间间隔中观测到的每秒设备中断数。 cs 列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。 4 memory swpd 切换到内存交换区的内存数量(k 表示)。如果 swpd 的值不为 0,或者比较大,比如超过了 100m,只要 si、so 的值长期为 0,系统性能还是正常 free 当前的空闲页面列表中内存数量(k 表示) buff 作为 buffer cache 的内存数量,一般对块设备的读写才需要缓冲。 cache: 作为 page cache 的内存数量,一般作为文件系统的 cache,如果 cache较大,说明用到 cache 的文件较多,如果此时 IO 中 bi 比较小,说明文件系统效率比较好。 5 swap si 由内存进入内存交换区数量。 so 由内存交换区进入内存数量。 6 IO bi 从块设备读入数据的总量(读磁盘)(每秒 kb)。 bo 块设备写入数据的总量(写磁盘)(每秒 kb)