Linux VM(重型多线程应用程序)的性能改进
Performance improvement on Linux VM(heavy multi threaded app)
嗨,在对应用程序进行一些分析后,我得到了以下内核调用堆栈,位于应用程序的顶部。其余的执行在 CPU 使用率上非常低(在 0.x - 2% 之间,绿色区域)。
Linux 上的代码 (C++) 时间设置为 hpet (可以在调用中看到) 应用程序(5 个线程)处理 100 TXN/秒(TCP/DB 写入...有没有办法调整一天的获取时间,或者Virtual Box的虚拟机管理程序真的很糟糕。顶部的 CPU 负载...在机器上约为 30-40%。(4 核 i7 + 6GB 内存)
样本:128K 事件"CPU 时钟",事件计数(大约):32221750000开销命令共享对象符号
14.52% app [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
_raw_spin_unlock_irqrestore
8.82% hrtimer_start_range_ns
8.79% do_nanosleep
hrtimer_nanosleep
compat_sys_nanosleep
sysenter_dispatch
4.22% try_to_wake_up
1.06% __wake_up_sync_key
**13.47% app [kernel.kallsyms] [k] read_hpet**
read_hpet
12.10% __getnstimeofday64
getnstimeofday64
10.28% do_gettimeofday
compat_sys_gettimeofday
sysenter_dispatch
1.70% ktime_get_real
1.36% ktime_get
11.67% app [kernel.kallsyms] [k] native_sched_clock
native_sched_clock
11.67% sched_clock
local_clock
9.92% tcp_transmit_skb
tcp_write_xmit
__tcp_push_pending_frames
tcp_push
以下是其余的一些电话。这个应用程序非常大,我不想添加所有的性能数据,但这里有一个更大的片段:
+ 14.52% app [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
+ 13.47% app [kernel.kallsyms] [k] read_hpet
+ 11.67% app [kernel.kallsyms] [k] native_sched_clock
+ 9.81% app [kernel.kallsyms] [k] finish_task_switch
+ 1.25% app libc-2.17.so [.] __memcpy_ssse3
+ 0.90% app libc-2.17.so [.] __memcmp_sse4_2
+ 0.85% app [kernel.kallsyms] [k] __do_softirq
0.84% app app [.] list<var_entry>::find
+ 0.81% app libc-2.17.so [.] __strlen_sse2_bsf
+ 0.66% app app [.] __x86.get_pc_thunk.bx
+ 0.63% app libclntsh.so.11.1 [.] kpuexec
+ 0.51% app libclntsh.so.11.1 [.] ttcfour
0.48% app app [.] str_base::is_null
还有相同问题的reddit链接(也许更好的文本格式)
https://www.reddit.com/r/AskProgramming/comments/8dm5mb/performance_improvement_on_linux_vmheavy_multi/
它是VBox的虚拟机管理程序,它不能胜任:(任务。在KVM上的普通服务器上运行它后,一切都很好。
相关文章:
- Linux VM(重型多线程应用程序)的性能改进
- 运行最基本的SFML应用程序时的性能
- 在GO应用程序中使用C( )进行性能
- 谷歌性能工具可以用于分析C应用程序吗?
- 堆栈保留大小和堆栈提交大小的增加会提高应用程序性能吗
- 用于C++和性能关键型应用程序中的循环
- 对于高度优化的矩阵多应用程序代码,MSVC和GCC之间的性能差异
- 基于libpcap的应用程序是否会影响网络速度/性能
- 编译提升::数学的性能测试应用程序
- 嵌套函数或方法调用会降低应用程序的性能
- 适用于Android的纯c ++应用程序及其性能
- 当从应用程序多次调用数据库过程时,性能是否会受到影响
- 实时音频应用程序,提高性能
- 提高应用程序性能的简单方法
- 在Windows Kinect应用程序中使用c++和c#有什么不明显的区别吗?(例如,性能、特性)
- 相同的 Direct2D 应用程序在"slower"计算机上的性能更好
- cocoa是否限制了C/ c++ openGL应用程序的整体性能?
- Shared_Ptr影响应用程序的性能
- 在非托管c++应用程序中提高WPF对话框的性能
- 提高Windows应用程序的性能