linux 下 mysqld 诡异 CPU 占用率求解

2016-12-23 13:16:18 +08:00
 jasondan

请问在 mysql 内 show processlist 并没有什么异常 sql 在持续查询,反而 CPU 一直高居不下,有什么办法可以查找这个问题,或者那些日志可能记录相关信息列,请大家说说。

一下是 top 信息 top - 13:15:09 up 20:37, 2 users, load average: 3.49, 3.32, 3.31 Tasks: 238 total, 3 running, 235 sleeping, 0 stopped, 0 zombie %Cpu(s): 52.1 us, 7.3 sy, 0.0 ni, 38.7 id, 0.0 wa, 0.0 hi, 1.8 si, 0.1 st KiB Mem : 7748240 total, 872180 free, 2681808 used, 4194252 buff/cache KiB Swap: 0 total, 0 free, 0 used. 4528308 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1355 mysql 20 0 2353820 310908 10860 S 72.1 4.0 876:41.64 mysqld

2514 次点击
所在节点    Linux
5 条回复
zhg595105376
2016-12-23 19:37:43 +08:00
查看慢查询日志,有一种可能就是单表数据很大,查询语句 where 条件没有加索引
jasondan
2016-12-23 23:09:23 +08:00
@zhg595105376 在 show full processlist 里面没检测到异常 SQL , slow log 也没反映出 当前时间段有慢查询。
adrianzhang
2016-12-23 23:46:22 +08:00
几个 cpu
jasondan
2016-12-30 14:59:01 +08:00
@adrianzhang 4 个 cpu
adrianzhang
2016-12-30 16:49:00 +08:00
@jasondan 看看 io 情况, sar

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/329658

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX