Strace: what a process does
From Linuxintro
strace is a command to show what a command or process is doing.
Lmty00 <a href="http://epoasffumepw.com/">epoasffumepw</a>, [url=http://wxqlehcigvsy.com/]wxqlehcigvsy[/url], [link=http://jecvhrhvliac.com/]jecvhrhvliac[/link], http://cumjrpzutqtm.com/
xGkswu <a href="http://jofyxjfemcvz.com/">jofyxjfemcvz</a>, [url=http://rntezxihpzft.com/]rntezxihpzft[/url], [link=http://jkydjntjfhkb.com/]jkydjntjfhkb[/link], http://oebyvnqvelri.com/
Performance analysis
With strace, you can find out the biggest time-consuming syscalls during a program run:
strace -c ls -R Entries Repository Root % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 67.09 0.412153 14 29664 getdents64 27.70 0.170168 11 14849 14 open 4.24 0.026043 0 123740 write 0.72 0.004443 0 14837 close 0.20 0.001204 0 14836 fstat 0.05 0.000285 285 1 execve 0.00 0.000000 0 12 read 0.00 0.000000 0 4 3 stat 0.00 0.000000 0 33 mmap 0.00 0.000000 0 18 mprotect 0.00 0.000000 0 4 munmap 0.00 0.000000 0 12 brk 0.00 0.000000 0 2 rt_sigaction 0.00 0.000000 0 1 rt_sigprocmask 0.00 0.000000 0 2 ioctl 0.00 0.000000 0 1 1 access 0.00 0.000000 0 3 mremap 0.00 0.000000 0 1 fcntl 0.00 0.000000 0 1 getrlimit 0.00 0.000000 0 1 statfs 0.00 0.000000 0 1 arch_prctl 0.00 0.000000 0 3 1 futex 0.00 0.000000 0 1 set_tid_address 0.00 0.000000 0 8 fadvise64 0.00 0.000000 0 1 set_robust_list ------ ----------- ----------- --------- --------- ---------------- 100.00 0.614296 198036 19 total
Now you go
man 2 getdents64
to find out what that syscall is about.