openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU

openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU216.1 CPU216.2 查看CPU状况216.3 性能参数分析

openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU

获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。

216.1 CPU

通过top命令查看openGauss内节点CPU使用情况,分析是否存在由于CPU负载过高导致的性能瓶颈。 top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

参数解释:

  • d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。

  • b:以批次的方式执行top。

  • n:与b配合使用,表示需要进行几次top命令的输出结果。

  • p:指定特定的pid进程号进行观察。

216.2 查看CPU状况

查询服务器CPU的使用情况主要通过以下方式:

在所有存储节点,逐一执行top命令,查看CPU占用情况。执行该命令后,按“1”键,可查看每个CPU核的使用率。

top - 17:05:04 up 32 days, 20:34,  5 users,  load average: 0.02, 0.02, 0.00
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.0%us,  0.3%sy,  0.0%ni, 69.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.3%us,  0.3%sy,  0.0%ni, 69.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.3%us,  0.3%sy,  0.0%ni, 69.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.3%us,  0.3%sy,  0.0%ni, 69.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8038844k total,  7165272k used,   873572k free,   530444k buffers
Swap:  4192924k total,     4920k used,  4188004k free,  4742904k cached

 PID USER  PR  NI  VIRT  RES  SHR  S   %CPU %MEM   TIME+  COMMAND
 35184 omm   20   0  822m 421m 128m  S    0    5.4   5:28.15 gaussdb
 1 root   20   0 13592  820  784 S    0    0.0   1:16.62 init

分析时,请主要关注进程占用的CPU利用率。

其中,统计信息中“us”表示用户空间占用CPU百分比,“sy”表示内核空间占用CPU百分比,“id”表示空闲CPU百分比。如果“id”低于10%,即表明CPU负载较高,可尝试通过降低本节点任务量等手段降低CPU负载。

216.3 性能参数分析

1、使用“top -H”命令查看CPU,显示内容如下所示。

14 root      20   0     0    0    0 S    0  0.0   0:16.41 events/3
top - 14:22:49 up 5 days, 21:51,  2 users,  load average: 0.08, 0.08, 0.06
Tasks: 312 total,   1 running, 311 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.3%us,  0.7%sy,  0.0%ni, 95.0%id,  2.4%wa,  0.5%hi,  0.2%si,  0.0%st
Mem:   8038844k total,  5317668k used,  2721176k free,   180268k buffers
Swap:  4192924k total,        0k used,  4192924k free,  2886860k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
 3105 root      20   0 50492  11m 2708 S    3  0.1  22:22.56 acc-snf
 4015 gdm       20   0  232m  23m  11m S    0  0.3  11:34.70 gdm-simple-gree 
 51001 omm  20   0 12140 1484  948 R    0  0.0   0:00.94 top
 54885 omm  20   0  615m 396m 116m S    0  5.1   0:09.44 gaussdb
 1 root      20   0 13592  944  792 S    0  0.0   0:08.54 init

2、根据查询结果中“Cpu(s)”分析是系统CPU(sy)还是用户CPU(us)占用过高。

  • 如果是系统CPU占用过高,需要查找异常系统进程进行处理。

  • 如果是“USER”为omm的openGauss进程CPU占用过高,请根据目前运行的业务查询内容,对业务SQL进行优化。请根据以下步骤,并结合当前正在运行的业务特征进行分析,是否该程序处于死循环逻辑。

    a. 使用“top -H -p pid”查找进程内占用的CPU百分比较高的线程,进行分析。

top -H -p 54952
查询结果如下所示,top中可以看到占用CPU很高的线程,下面以线程54775为主,分析其为何占用CPU过高。
top - 14:23:27 up 5 days, 21:52,  2 users,  load average: 0.04, 0.07, 0.05
    Tasks:  13 total,   0 running,  13 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.9%us,  0.4%sy,  0.0%ni, 97.3%id,  1.1%wa,  0.2%hi,  0.1%si,  0.0%st
    Mem:   8038844k total,  5322180k used,  2716664k free,   180316k buffers
    Swap:  4192924k total,        0k used,  4192924k free,  2889860k cached
    
     PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     54775 omm  20   0  684m 424m 131m S    0  5.4   0:00.32 gaussdb 
     54951 omm  20   0  684m 424m 131m S    0  5.4   0:00.84 gaussdb 
     54732 omm  20   0  684m 424m 131m S    0  5.4   0:00.24 gaussdb 
     54758 omm  20   0  684m 424m 131m S    0  5.4   0:00.00 gaussdb 
     54759 omm  20   0  684m 424m 131m S    0  5.4   0:00.02 gaussdb 
     54773 omm  20   0  684m 424m 131m S    0  5.4   0:02.79 gaussdb 
     54780 omm  20   0  684m 424m 131m S    0  5.4   0:00.04 gaussdb 
     54781 omm  20   0  684m 424m 131m S    0  5.4   0:00.21 gaussdb 
     54782 omm  20   0  684m 424m 131m S    0  5.4   0:00.02 gaussdb 
     54798 omm  20   0  684m 424m 131m S    0  5.4   0:16.70 gaussdb 
     54952 omm  20   0  684m 424m 131m S    0  5.4   0:07.51 gaussdb 
     54953 omm  20   0  684m 424m 131m S    0  5.4   0:00.81 gaussdb 
     54954 omm  20   0  684m 424m 131m S    0  5.4   0:06.54 gaussdb
b. 使用“gstack ”查看进程内各线程的函数调用栈。查找上一步骤中占用CPU较高的线程ID对应的线程号。
gstack 54954
查询结果如下所示,其中线程ID54775对应线程号是10。
192.168.0.11:~ # gstack 54954
    Thread 10 (Thread 0x7f95a5fff710 (LWP 54775)):
    #0  0x00007f95c41d63c6 in poll () from /lib64/libc.so.6
    #1  0x0000000000d3d2d3 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
    #2  0x000000000095ed25 in XLogPageRead(XLogRecPtr*, int, bool, bool) ()
    #3  0x000000000095f6dd in ReadRecord(XLogRecPtr*, int, bool) ()
    #4  0x000000000096aef0 in StartupXLOG() ()
    #5  0x0000000000d5607a in StartupProcessMain() ()
    #6  0x00000000009e19f9 in AuxiliaryProcessMain(int, char**) ()
    #7  0x0000000000d50135 in SubPostmasterMain(int, char**) ()
    #8  0x0000000000d504ec in MainStarterThreadFunc(void*) ()
    #9  0x00007f95c79b85f0 in start_thread () from /lib64/libpthread.so.0
    #10 0x00007f95c41df84d in clone () from /lib64/libc.so.6
    #11 0x0000000000000000 in ?? ()

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容