问题描述
(1) atop 命令显示我的应用程序通常使用类似数量的 USR 和 SYS cpu。
(2) 但是,如果我查看我的性能结果,看起来内核完全占主导地位
(3) 还有,为什么finish_task_switch 主宰这么多?这说明什么?
(1) 在结果之上
PID TID SYScpu USRcpu VGROW RGROW RUID EUID ST EXC THR S cpuNR cpu CMD 1/3
70364 - 0.22s 0.34s 364K 264K user user -- - 22 S 3 6% g_Sclient_no_d 70364 70364 0.00s 0.00s 364K 264K user user -- - 1 S 3 0% g_Sclient_no_d 70364 70365 0.08s 0.00s 364K 264K user user -- - 1 S 2 1% g_Sclient_no_d 70364 70366 0.01s 0.01s 364K 264K user user -- - 1 S 3 0% recvonly:ice 70364 70367 0.00s 0.00s 364K 264K user user -- - 1 S 1 0% recvonly:pc 70364 70368 0.00s 0.00s 364K 264K user user -- - 1 S 0 0% appsrc0:src 70364 70369 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% gmain 70364 70370 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% queue2:src 70364 70371 0.00s 0.00s 364K 264K user user -- - 1 S 1 0% rtpsession-rtc 70364 70372 0.11s 0.08s 364K 264K user user -- - 1 S 3 2% nicesrc0:src 70364 70373 0.00s 0.00s 364K 264K user user -- - 1 S 3 0% nicesrc1:src 70364 70374 0.05s 0.08s 364K 264K user user -- - 1 S 2 1% queue0:src 70364 70375 0.00s 0.00s 364K 264K user user -- - 1 S 3 0% queue1:src 70364 70376 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% dtlsenc0:src 70364 70377 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% dtlsenc1:src 70364 70378 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% GstSystemClock 70364 70379 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% SCTP iterator 70364 70380 0.00s 0.06s 364K 264K user user -- - 1 S 2 1% SCTP timer 70364 70381 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% sctpenc0:src 70364 70382 0.00s 0.00s 364K 264K user user -- - 1 S 0 0% sctpdec0:src_1 70364 70383 0.00s 0.02s 364K 264K user user -- - 1 S 2 0% timer 70364 70384 0.01s 0.06s 364K 264K user user -- - 1 S 2 1% rtpjitterbuffe 70364 70385 0.00s 0.00s 364K 264K user user -- - 1 S 2 0% pool-g_Sclient
(2) 性能结果
+ 26.39% nicesrc0:src [kernel.kallsyms] [k] finish_task_switch ◆ + 12.30% queue0:src [kernel.kallsyms] [k] finish_task_switch ▒ + 9.01% g_Sclient_no_de [kernel.kallsyms] [k] finish_task_switch ▒ + 7.98% SCTP timer [kernel.kallsyms] [k] finish_task_switch ▒ + 5.99% rtpjitterbuffer [kernel.kallsyms] [k] finish_task_switch ▒ + 3.49% recvonly:pc g_Sclient_no_dec [.] bn_mul_add_words ▒ + 1.75% timer [kernel.kallsyms] [k] finish_task_switch ▒ + 1.19% nicesrc0:src [kernel.kallsyms] [k] __lock_text_start ▒ + 1.11% recvonly:pc g_Sclient_no_dec [.] bn_sqr_comba8 ▒ + 1.03% queue0:src [kernel.kallsyms] [k] __lock_text_start ▒ + 0.75% queue0:src g_Sclient_no_dec [.] g_type_check_instance_is_fundamentally_a ▒ + 0.67% rtpsession-rtcp [kernel.kallsyms] [k] finish_task_switch ▒ + 0.52% nicesrc0:src [kernel.kallsyms] [k] __softirqentry_text_start ▒ 0.48% nicesrc0:src [kernel.kallsyms] [k] do_int80_syscall_32
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)