外链论坛

 找回密码
 立即注册
搜索
查看: 30|回复: 4

Linux中Python应用CPU占用高问题排查

[复制链接]

2743

主题

5162

回帖

9911万

积分

论坛元老

Rank: 8Rank: 8

积分
99110069
发表于 2024-8-17 21:02:17 | 显示全部楼层 |阅读模式

机构购买了一套由外边供应商供给的呼叫中心系统,在运用的过程中发掘其LOAD和CPU占用偏高,因为源代码不太清楚其内部的实现规律,只能够经过观察系统资源的消耗来排除其问题,以下记录的是问题排查的过程。

1、经过top命令查看其CPU占用

能够看到其load占用为“20.14, 16.42, 19.16”,三个数字分别暗示cpu在1分钟、5分钟及15分钟的load,cpu的运用偏高,达到了68.8%,占用cpu较高的进程ID为281020。

2、经过ps查看该应用

$ ps aux|grep 281020 root 212891 0.0 0.0 103328 848 pts/3 S+ 15:41 0:00 grep 281020 ipcc 281020 39.5 2.6 1025560 425540 ? Sl 01:18 341:29 /usr/bin/python ./ctiRealtimeCdrMain.py default.xml

结果表示该应用为python应用。

3、查看进程中线程的CPU占用状况

top中加入-H参数,查看该进程中线程的cpu战胜状况

$ top -H -p 281020

结果如下:

能够看到进程281020中线程号为281042的线程战胜的CPU最多。

4、跟踪进程的执行栈

经过watchpstack命令查看线程中命令的执行状况

能够看到从mysql中读取数据占用资源较多。

5、跟踪函数的调用

进一步经过strace命令进行验证:

$ strace -f -p 281042

结果如下:

其中海量的数据在执行数据库的写入(write)及读取(read)操作,上面的pstack命令并反映出write的问题,那问题应该出此刻数据库的read操作上,初步猜测是数据库的select语句有问题,走索引。

6、检测MySql的慢日志

进一步检测MySql的慢日志发掘

其中有海量查找慢日志,SQL中运用了全表扫描的count、max、min这般的函数,最终确认问题导致原由了,余下的便是让对方对做优化了。

回复

使用道具 举报

21

主题

666

回帖

-77

积分

限制会员

积分
-77
发表于 2024-8-20 03:36:08 | 显示全部楼层
系统提示我验证码错误1500次 \~゛,
回复

使用道具 举报

1

主题

659

回帖

-4

积分

限制会员

积分
-4
发表于 2024-8-25 23:57:09 | 显示全部楼层
外贸论坛是我们的,责任是我们的,荣誉是我们的,成就是我们的,辉煌是我们的。
回复

使用道具 举报

2664

主题

5074

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96067306
发表于 2024-8-26 20:24:21 | 显示全部楼层
同意、说得对、没错、我也是这么想的等。
回复

使用道具 举报

2700

主题

5016

回帖

9914万

积分

论坛元老

Rank: 8Rank: 8

积分
99140417
发表于 5 天前 | 显示全部楼层
你说得对,我们一起加油,未来可期。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-4 09:27 , Processed in 0.062747 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.