我有一个python程序,它使用许多进程在指定的时间内练习插件卡。我基于一个旧的perl程序。在
程序并没有像它应该的那样给加载卡增加压力。它的性能大约是旧perl程序的60%,而且至少是旧perl程序的2倍,因为我是通过内存而不是磁盘驱动器发送数据。在
我注意到,iostat -c -d -x -t -m /dev/md127 2
中的%system在新python程序中大约为20-25%,在旧perl程序中为5-10%,因此我基于这个问题运行perf:High Kernel CPU when running multiple python progams
这些是来自新python程序的perf record -a -g python ...
和{
我的程序使用多处理.pool运行while time.time() < numberOfMinutes:
,但下面的perf结果来自于我将池大小设置为1的运行。在
在这些系统上,我对高精度计时器有很多竞争吗?在
Samples: 388K of event 'cycles', Event count (approx.): 1345230671182
Children Self Command Shared Object Symbol ◆
+ 35.81% 0.24% swapper [kernel.kallsyms] [k] cpu_startup_entry ¦
+ 29.27% 0.00% swapper [kernel.kallsyms] [k] start_secondary ¦
- 27.64% 0.15% swapper [kernel.kallsyms] [k] ktime_get ¦
- ktime_get ¦
+ 10.93% clockevents_program_event ¦
+ 5.23% cpuidle_enter_state ¦
+ 4.02% sched_clock_tick ¦
+ 3.55% tick_nohz_idle_exit ¦
+ 3.35% __tick_nohz_idle_enter ¦
+ 0.43% tick_check_idle ¦
+ 0.05% tick_sched_timer ¦
+ 0.04% clockevents_program_min_delta ¦
+ 0.01% cpuidle_idle_call ¦
+ 0.01% tick_program_event ¦
+ 0.00% intel_pstate_timer_func ¦
+ 0.00% tick_nohz_idle_enter ¦
+ 0.00% cpu_startup_entry ¦
+ 0.00% sched_clock_idle_wakeup_event ¦
+ 0.00% poll_idle ¦
+ 0.00% irq_enter ¦
- 27.60% 27.60% swapper [kernel.kallsyms] [k] read_hpet ¦
- 27.60% 27.60% swapper [kernel.kallsyms] [k] read_hpet ¦
- read_hpet ¦
+ 27.49% ktime_get ¦
+ 0.07% ktime_get_update_offsets_now ¦
+ 0.01% update_wall_time ¦
+ 0.01% __tick_nohz_idle_enter ¦
+ 0.01% clockevents_program_event ¦
+ 0.01% cpuidle_enter_state ¦
+ 0.00% tick_nohz_idle_exit ¦
+ 0.00% sched_clock_tick ¦
+ 0.00% hrtimer_interrupt ¦
+ 13.79% 0.03% swapper [kernel.kallsyms] [k] tick_nohz_idle_exit ¦
+ 11.58% 0.03% swapper [kernel.kallsyms] [k] tick_program_event ¦
+ 11.57% 0.10% swapper [kernel.kallsyms] [k] clockevents_program_event ¦
+ 9.93% 0.01% swapper [kernel.kallsyms] [k] arch_cpu_idle ¦
+ 9.90% 0.08% swapper [kernel.kallsyms] [k] cpuidle_idle_call ¦
+ 9.81% 0.16% swapper [kernel.kallsyms] [k] hrtimer_start_range_ns ¦
+ 9.79% 0.03% swapper [kernel.kallsyms] [k] __tick_nohz_idle_enter ¦
▒
更新 发现高“read_hpet”来自多处理.manager列表。我有一个函数,它生成一个进程并遍历一个目录,将每个文件添加到经理列表(). 如果没有这个,`perf record-a-g python…'将显示下面的报告。现在我在做一些实验,看看如果不使用列表管理器(). 为什么建筑经理列表()来自手术室步行()经常使用高精度计时器?在
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐