当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
439 Star 1.5K Fork 1.8K

GVPopenGauss/openGauss-server
暂停

 / 详情

gaussdb 进程在x86虚拟机空闲状态下CPU占用率100%

已取消
缺陷
创建于  
2024-08-16 17:43

【标题描述】:

  1. 在 x86 上安装 VM,OS 版本 openEuler24.03
  2. 空闲状态下,gaussdb 进程在x86虚拟机空闲状态下CPU占用率100%

【操作系统和硬件信息】(查询命令: cat /etc/system-release, uname -a):

[rongtao@VM-Euler2403 ~]$ cat /etc/system-release
openEuler release 24.03 (LTS)
[rongtao@VM-Euler2403 ~]$ uname -a
Linux VM-Euler2403 6.6.0-35.0.0.43.oe2403.x86_64 #1 SMP Wed Jul 24 15:23:16 CST 2024 x86_64 x86_64 x86_64 GNU/Linux

【测试环境】(单机/1主x备x级联备): x86虚拟机

perf top 结果:

Samples: 246K of event 'cycles:P', 4000 Hz, Event count (approx.): 57542333645 lost: 0/0 drop: 0/0
Overhead  Shared Object      Symbol
  14.07%  [kernel]           [k] asm_exc_page_fault
   7.83%  gaussdb            [.] bbox_handler(int, siginfo_t*, void*)
   6.80%  libgcc_s-12.so.1   [.] 0x000000000001571e
   5.91%  [kernel]           [k] sync_regs
   5.67%  [kernel]           [k] copy_fpstate_to_sigframe
   3.94%  [kernel]           [k] __restore_fpregs_from_user
   2.70%  [kernel]           [k] fpu__clear_user_states
   2.32%  [kernel]           [k] clear_bhb_loop
   2.24%  [kernel]           [k] x64_setup_rt_frame
   2.15%  [kernel]           [k] rep_movs_alternative
   1.92%  [kernel]           [k] _copy_from_user
   1.73%  [kernel]           [k] __raw_callee_save___pv_queued_spin_unlock
   1.65%  [kernel]           [k] __get_user_nocheck_4
   1.62%  [kernel]           [k] __get_user_nocheck_8
   1.50%  [kernel]           [k] _raw_spin_lock_irq
   1.47%  [kernel]           [k] recalc_sigpending
   1.38%  [kernel]           [k] rseq_update_cpu_node_id
   1.35%  [kernel]           [k] get_signal
   1.34%  [kernel]           [k] __fpu_restore_sig
   1.32%  [kernel]           [k] __put_user_nocheck_4
   1.32%  [kernel]           [k] entry_SYSCALL_64
   1.16%  [kernel]           [k] mas_walk
   1.14%  [kernel]           [k] exc_page_fault
   1.11%  [kernel]           [k] mt_find
   1.05%  [kernel]           [k] fpregs_mark_activate
   0.93%  [kernel]           [k] __send_signal_locked
   0.87%  [kernel]           [k] copy_siginfo_to_user
   0.84%  [kernel]           [k] __x64_sys_rt_sigreturn
   0.77%  [kernel]           [k] do_dec_rlimit_put_ucounts
For a higher level overview, try: perf top --sort comm,dso

【被测功能】: 无

【测试类型】: 无

【数据库版本】(查询命令: gaussdb -V):

$ /usr/local/opengauss/bin/gaussdb -V
/usr/local/opengauss/bin/gaussdb: symbol lookup error: /usr/local/opengauss/bin/gaussdb: undefined symbol: cJSON_strdup

$ rpm -qf /usr/local/opengauss/bin/gaussdb
opengauss-2.1.0-11.oe2403.x86_64

评论 (8)

Rong Tao 创建了缺陷 9个月前
王恬静 关联项目设置为openGauss 2.0.0 community 9个月前
王恬静 负责人设置为laishenghao 9个月前
王恬静 添加协作者douxin 9个月前
王恬静 优先级设置为次要 9个月前
王恬静 开发领域设置为兼容性 9个月前
王恬静 测试领域设置为性能-指标 9个月前

从贴的结果看,gaussdb只有7.83%,并没有100%,请提供更详细的信息

laishenghao 任务状态待办的 修改为已答复 5个月前

已公示7天无人提异议,问题单取消

sungang 任务状态已答复 修改为已取消 5个月前
Rong Tao 任务状态已取消 修改为待办的 4个月前

非常抱歉,没有及时恢复消息,今天无意间再次看到

系统空闲,gaussdb CPU 100%

输入图片说明

$ sudo pstack 1902
Thread 9 (LWP 2129 "Spbgwriter"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabce151f00 in ?? ()
#2  0x0000000000000002 in ?? ()
#3  0x000927c000000010 in ?? ()
#4  0x00007fabce151f70 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724aa0b0 in invalid_buffer_bgwriter_main() ()
#7  0x000055b0724e6a7b in int GaussDbThreadMain<(knl_thread_role)27>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 8 (LWP 2128 "bgwriter"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabcf152fd0 in ?? ()
#2  0x0000000000000002 in ?? ()
#3  0x000186a000000010 in ?? ()
#4  0x00007fabcf153040 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724a814b in BackgroundWriterMain() ()
#7  0x000055b0724e92b5 in int GaussDbThreadMain<(knl_thread_role)26>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 7 (LWP 2127 "checkpointer"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabd01557d0 in ?? ()
#2  0x0000000000000002 in ?? ()
#3  0x00003a9800000010 in ?? ()
#4  0x00007fabd0155840 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724f6e9e in CheckpointerMain() ()
#7  0x000055b0724e6f6b in int GaussDbThreadMain<(knl_thread_role)37>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 6 (LWP 2121 "startup"):
#0  0x00007fabf106971e in ?? () from /usr/lib64/libgcc_s.so.1
#1  0x00007fabf106b50b in _Unwind_Backtrace () from /usr/lib64/libgcc_s.so.1
#2  0x00007fabe09383f3 in __asprintf_chk () from /usr/lib64/libc.so.6
#3  0x00007fabe093a356 in __snprintf_chk () from /usr/lib64/libc.so.6
#4  0x000055b09e05d5a0 in AddMemberFile ()
#5  0x00007fabf1b49ea0 in ?? () from /usr/lib64/libboundscheck.so
#6  0x0000000000000000 in ?? ()
Thread 5 (LWP 2108 "reaper"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabd41d48f0 in ?? ()
#2  0x0000000000000001 in ?? ()
#3  0x0000271000000010 in ?? ()
#4  0x00007fabd41d4960 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724c971a in ReaperBackendMain() ()
#7  0x000055b0724dde29 in int GaussDbThreadMain<(knl_thread_role)21>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 4 (LWP 2107 "alarm"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabd51d58f0 in ?? ()
#2  0x0000000000000001 in ?? ()
#3  0x000003e800000010 in ?? ()
#4  0x00007fabd51d5960 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724fe51c in AlarmCheckerMain() ()
#7  0x000055b0724de545 in int GaussDbThreadMain<(knl_thread_role)20>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 3 (LWP 2100 "syslogger"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007fabd67d3830 in ?? ()
#2  0x0000000000000002 in ?? ()
#3  0x05265c0000000010 in ?? ()
#4  0x00007fabd67d38a0 in ?? ()
#5  0x000055b071e35aa5 in WaitLatchOrSocket(Latch volatile*, int, int, long) ()
#6  0x000055b0724f2c7b in SysLoggerMain(int) ()
#7  0x000055b0724df82a in int GaussDbThreadMain<(knl_thread_role)17>(knl_thread_arg*) ()
#8  0x000055b0724c63d5 in InternalThreadFunc(void*) ()
#9  0x00007fabe08abeb6 in ?? () from /usr/lib64/libc.so.6
#10 0x00007fabe092b02c in ?? () from /usr/lib64/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 2 (LWP 2079 "gaussdb"):
#0  0x00007fabe0860c5a in sigtimedwait () from /usr/lib64/libc.so.6
#1  0x00007fabe086032c in ?? () from /usr/lib64/libc.so.6
#2  0x00007fabd8717610 in ?? ()
#3  0x00007fabd8717618 in ?? ()
#4  0x00007fabd8717948 in ?? ()
#5  0x0000000000000000 in ?? ()
Thread 1 (LWP 1902 "gaussdb"):
#0  0x00007fabe091d92f in __openat64_2 () from /usr/lib64/libc.so.6
#1  0x00007ffe03fd2830 in ?? ()
#2  0x0000000000000004 in ?? ()
#3  0x00004e2003fd25b0 in ?? ()
#4  0x0000000000000004 in ?? ()
#5  0x000055b0721649ea in comm_poll(pollfd*, unsigned long, int) ()
#6  0x000055b0724d4fa3 in ServerLoop() ()
#7  0x000055b0724d9c4d in PostmasterMain(int, char**) ()
#8  0x000055b071c0beb0 in main ()
$ sudo cat /proc/1902/stack 
[<0>] do_poll.constprop.0+0x302/0x3b0
[<0>] do_sys_poll+0x1dd/0x270
[<0>] __x64_sys_poll+0xad/0x140
[<0>] do_syscall_64+0x55/0x100
[<0>] entry_SYSCALL_64_after_hwframe+0x78/0xe2

针对 perf top 显示的说明

输入图片说明

asm_exc_page_fault 的缺页处理标高,应该算在 gausedb 里。

Rong Tao 任务状态待办的 修改为已取消 26天前

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
13084139 opengauss bot 1686829535 6529967 dodders 1662526216 9282991 rtoax 1721462144 douxin-ywzq1161327784
C++
1
https://gitee.com/opengauss/openGauss-server.git
git@gitee.com:opengauss/openGauss-server.git
opengauss
openGauss-server
openGauss-server

搜索帮助