# top
Mem: 478152K used, 32112K free, 21428K shrd, 166224K buff, 102136K cached
CPU0: 5.9% usr 93.2% sys 0.0% nic 0.0% idle 0.0% io 0.0% irq 0.7% sirq
CPU1: 0.1% usr 0.0% sys 0.0% nic 99.8% idle 0.0% io 0.0% irq 0.0% sirq
CPU2: 1.0% usr 1.0% sys 0.0% nic 97.9% idle 0.0% io 0.0% irq 0.0% sirq
CPU3: 0.3% usr 1.7% sys 0.0% nic 97.6% idle 0.0% io 0.0% irq 0.1% sirq
Load average: 1.13 1.20 1.22 2/187 28873
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
22193 22190 root R 1084 0.2 0 23.5 /bin/sh /etc/demo.sh
demo.sh just call some busybox command like ps, cat ...
the result of perf top -p 22193:
PerfTop: 3760 irqs/sec kernel:94.4% exact: 0.0% [4000Hz cpu-clock], (target_pid: 22193)
24.45% [kernel] [k] do_page_fault
23.24% [kernel] [k] handle_mm_fault
6.44% [kernel] [k] vmacache_find
5.36% busybox [.] 0x00041b94
4.98% [kernel] [k] mmioset
4.51% [kernel] [k] preempt_count_add
4.24% [kernel] [k] _raw_spin_unlock
4.05% [kernel] [k] down_read_trylock
2.89% [kernel] [k] _raw_spin_lock
2.67% [kernel] [k] up_read
2.49% [kernel] [k] __rcu_read_unlock
2.37% [kernel] [k] ptep_set_access_flags
1.93% [kernel] [k] preempt_count_sub
1.42% [kernel] [k] in_lock_functions
1.17% [kernel] [k] __rcu_read_lock
1.12% [kernel] [k] do_PrefetchAbort
1.05% [kernel] [k] __softirqentry_text_start
the result of perf record is as follow:
# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 604 of event 'cpu-clock'
# Event count (approx.): 6101010040
#
# Children Self Command Shared Object Symbol
# ........ ........ ....... ................. ...............................
#
92.22% 0.50% sh [kernel.kallsyms] [k] ret_from_exception
|
---ret_from_exception
|
--91.72%--do_PrefetchAbort
|
--89.90%--do_page_fault
|
|--50.33%--handle_mm_fault
| |
| |--7.78%--_raw_spin_lock
| | |
| | --5.79%--preempt_count_add
| | |
| | --1.16%--in_lock_functions
| |
| |--5.63%--_raw_spin_unlock
| | |
| | --1.16%--preempt_count_sub
| |
| |--5.46%--mmioset
| |
| |--2.98%--__rcu_read_unlock
| |
| |--1.49%--ptep_set_access_flags
| |
| |--1.32%--__rcu_read_lock
| |
| --0.66%--mem_cgroup_from_task
|
|--6.95%--find_vma
| |
| --6.29%--vmacache_find
|
|--2.32%--down_read_trylock
|
--1.99%--up_read
91.72% 1.82% sh [kernel.kallsyms] [k] do_PrefetchAbort
|
|--89.90%--do_PrefetchAbort
| do_page_fault
| |
| |--50.33%--handle_mm_fault
| | |
| | |--7.78%--_raw_spin_lock
| | | |
| | | --5.79%--preempt_count_add
| | | |
| | | --1.16%--in_lock_functions
| | |
| | |--5.63%--_raw_spin_unlock
| | | |
| | | --1.16%--preempt_count_sub
| | |
| | |--5.46%--mmioset
| | |
| | |--2.98%--__rcu_read_unlock
| | |
| | |--1.49%--ptep_set_access_flags
| | |
| | |--1.32%--__rcu_read_lock
| | |
| | --0.66%--mem_cgroup_from_task
| |
| |--6.95%--find_vma
| | |
| | --6.29%--vmacache_find
| |
| |--2.32%--down_read_trylock
| |
| --1.99%--up_read
|
--1.82%--ret_from_exception
do_PrefetchAbort
89.90% 27.98% sh [kernel.kallsyms] [k] do_page_fault
|
|--61.92%--do_page_fault
| |
| |--50.33%--handle_mm_fault
| | |
| | |--7.78%--_raw_spin_lock
| | | |
| | | --5.79%--preempt_count_add
| | | |
| | | --1.16%--in_lock_functions
| | |
| | |--5.63%--_raw_spin_unlock
| | | |
| | | --1.16%--preempt_count_sub
| | |
| | |--5.46%--mmioset
| | |
| | |--2.98%--__rcu_read_unlock
| | |
| | |--1.49%--ptep_set_access_flags
| | |
| | |--1.32%--__rcu_read_lock
| | |
| | --0.66%--mem_cgroup_from_task
| |
| |--6.95%--find_vma
| | |
| | --6.29%--vmacache_find
| |
| |--2.32%--down_read_trylock
| |
| --1.99%--up_read
|
--27.98%--ret_from_exception
do_PrefetchAbort
do_page_fault
50.99% 25.00% sh [kernel.kallsyms] [k] handle_mm_fault
|
|--25.99%--handle_mm_fault
| |
| |--7.78%--_raw_spin_lock
| | |
| | --5.79%--preempt_count_add
| | |
| | --1.16%--in_lock_functions
| |
| |--5.63%--_raw_spin_unlock
| | |
| | --1.16%--preempt_count_sub
| |
| |--5.46%--mmioset
| |
| |--2.98%--__rcu_read_unlock
| |
| |--1.49%--ptep_set_access_flags
| |
| |--1.32%--__rcu_read_lock
| |
| --0.66%--mem_cgroup_from_task
|
--24.50%--ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
7.78% 1.99% sh [kernel.kallsyms] [k] _raw_spin_lock
|
|--5.79%--_raw_spin_lock
| preempt_count_add
| |
| --1.16%--in_lock_functions
|
--1.99%--ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
_raw_spin_lock
6.95% 5.79% sh [kernel.kallsyms] [k] preempt_count_add
|
|--4.64%--ret_from_exception
| do_PrefetchAbort
| do_page_fault
| handle_mm_fault
| _raw_spin_lock
| preempt_count_add
|
--2.32%--preempt_count_add
|
--1.16%--in_lock_functions
6.95% 0.66% sh [kernel.kallsyms] [k] find_vma
|
|--6.29%--find_vma
| vmacache_find
|
--0.66%--ret_from_exception
do_PrefetchAbort
do_page_fault
find_vma
6.29% 6.29% sh [kernel.kallsyms] [k] vmacache_find
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
find_vma
vmacache_find
5.63% 4.47% sh [kernel.kallsyms] [k] _raw_spin_unlock
|
|--4.47%--ret_from_exception
| do_PrefetchAbort
| do_page_fault
| handle_mm_fault
| _raw_spin_unlock
|
--1.16%--_raw_spin_unlock
preempt_count_sub
5.46% 5.46% sh [kernel.kallsyms] [k] mmioset
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
mmioset
4.64% 4.64% sh busybox [.] 0x00041b94
3.15% 2.81% sh [kernel.kallsyms] [k] __rcu_read_unlock
|
--2.65%--ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
__rcu_read_unlock
2.32% 2.32% sh [kernel.kallsyms] [k] down_read_trylock
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
down_read_trylock
2.15% 2.15% sh [kernel.kallsyms] [k] ptep_set_access_flags
|
--1.49%--ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
ptep_set_access_flags
1.99% 1.99% sh [kernel.kallsyms] [k] up_read
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
up_read
1.82% 1.82% sh [kernel.kallsyms] [k] preempt_count_sub
|
--1.16%--ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
_raw_spin_unlock
preempt_count_sub
1.32% 1.32% sh [kernel.kallsyms] [k] __rcu_read_lock
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
__rcu_read_lock
1.16% 1.16% sh [kernel.kallsyms] [k] in_lock_functions
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
_raw_spin_lock
preempt_count_add
in_lock_functions
0.83% 0.66% sh [kernel.kallsyms] [k] _raw_spin_unlock_irq
|
--0.66%--ret_from_exception
do_PrefetchAbort
do_page_fault
0.83% 0.00% sh [kernel.kallsyms] [k] __sched_text_start
|
---__sched_text_start
finish_task_switch
_raw_spin_unlock_irq
0.83% 0.00% sh [kernel.kallsyms] [k] finish_task_switch
|
---finish_task_switch
_raw_spin_unlock_irq
0.66% 0.00% sh [kernel.kallsyms] [k] svc_preempt
|
---svc_preempt
preempt_schedule_irq
__sched_text_start
finish_task_switch
_raw_spin_unlock_irq
0.66% 0.66% sh [kernel.kallsyms] [k] mem_cgroup_from_task
|
---ret_from_exception
do_PrefetchAbort
do_page_fault
handle_mm_fault
mem_cgroup_from_task
0.66% 0.00% sh [kernel.kallsyms] [k] preempt_schedule_irq
|
---preempt_schedule_irq
__sched_text_start
finish_task_switch
_raw_spin_unlock_irq
0.50% 0.00% sh [unknown] [k] 0xc0a08468
0.50% 0.00% sh busybox [.] 0x00031b94
0.33% 0.33% sh [kernel.kallsyms] [k] sync_mm_rss
0.17% 0.17% sh [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
0.17% 0.00% sh [kernel.kallsyms] [k] preempt_schedule_common
0.17% 0.00% sh [kernel.kallsyms] [k] __proc_info_end
0.17% 0.00% sh [kernel.kallsyms] [k] rcu_read_unlock_special
0.17% 0.00% sh [unknown] [k] 0x000001cc
0.17% 0.00% sh [unknown] [k] 0xce8e9ea4
/proc/22193/status is as follow:
/proc/22193# cat status
Name: sh
Umask: 0022
State: R (running)
Tgid: 22193
Ngid: 0
Pid: 22193
PPid: 22190
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groups:
VmPeak: 1084 kB
VmSize: 1084 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 364 kB
VmRSS: 364 kB
RssAnon: 44 kB
RssFile: 320 kB
RssShmem: 0 kB
VmData: 28 kB
VmStk: 132 kB
VmExe: 388 kB
VmLib: 528 kB
VmPTE: 8 kB
VmPMD: 0 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/3978
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000000010002
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Speculation_Store_Bypass: unknown
Cpus_allowed: 1
Cpus_allowed_list: 0
voluntary_ctxt_switches: 0
nonvoluntary_ctxt_switches: 323758726
the page faults is as follow:
~# perf stat -e 'major-faults' -p 22193 -a sleep 5
Performance counter stats for process id '22193':
0 major-faults
5.002634302 seconds time elapsed
~# perf stat -e 'minor-faults' -p 22193 -a sleep 5
Performance counter stats for process id '22193':
4098002 minor-faults
5.002344226 seconds time elapsed
openwrt branch: tags/v19.07.2
Target System:MediaTek Ralink ARM
Subtarget: MT7623
Target Profile: MTK7623a UniElec U7623-02 (eMMC/512MB RAM)