Skip to content

elfuse real-workload syscall frequency ranking (Top 50) #292

Description

@maxliu04002
  • Counts are guest syscalls actually handled by the host dispatcher.

Workloads (five categories, 116 guest processes)

workload image content syscalls processes
jvm eclipse-temurin:21 javac compile of a multi-class program + java run (collections, file I/O, SHA-256, 8 threads, subprocess) 3,028,653 8
python python:3.12-slim JSON/regex churn, sqlite3 (20k inserts + queries), 400 small-file I/O, os.walk over the stdlib, 10 subprocesses, 4 threads 1,364,400 11
go golang:1.23-alpine go version + gofmt over stdlib trees (net/runtime/crypto) + gofmt -d fmt 46,037 6
node node:22-alpine module loading, fs/crypto/zlib/JSON, then an HTTP server taking 302 host-side curl requests before /quit 18,740 1
c-compile gcc:14 30-file C project via make -j1 + sqlite amalgamation (8 MB TU) gcc -O1 compile+link + a sqlite3 query 82,606 90

Total: 4,540,436 syscalls, 89 distinct.

Top 50 ranking (five workloads combined, descending)

# syscall count share% cum% jvm python go node c-compile
1 futex 2,559,392 56.369 56.37 1,517,216 1,040,892 166 1,118 0
2 clock_gettime 1,849,178 40.727 97.10 1,507,075 308,525 30,326 3,251 1
3 readlinkat 48,107 1.060 98.16 109 3 1 15 47,979
4 openat 12,457 0.274 98.43 240 1,213 1,572 633 8,799
5 read 9,449 0.208 98.64 409 972 2,903 1,230 3,935
6 close 6,978 0.154 98.79 209 1,255 1,573 936 3,005
7 mmap 6,152 0.135 98.93 662 181 87 2,477 2,745
8 fcntl 5,737 0.126 99.05 31 2,035 2,926 628 117
9 newfstatat 5,347 0.118 99.17 106 1,582 1,488 0 2,171
10 fstat 5,330 0.117 99.29 171 2,131 2 14 3,012
11 lseek 3,785 0.083 99.37 104 1,712 0 11 1,958
12 munmap 3,532 0.078 99.45 195 99 2 2,406 830
13 epoll_ctl 3,515 0.077 99.53 0 0 2,903 612 0
14 write 3,011 0.066 99.59 260 454 4 305 1,988
15 mremap 2,050 0.045 99.64 0 4 0 2,046 0
16 brk 2,004 0.044 99.68 27 81 6 9 1,881
17 rt_sigaction 1,928 0.042 99.73 170 767 353 35 603
18 epoll_pwait 1,769 0.039 99.76 0 0 260 1,509 0
19 mprotect 1,234 0.027 99.79 219 98 6 79 832
20 rt_sigprocmask 1,155 0.025 99.82 353 69 64 63 606
21 ioctl 980 0.022 99.84 20 869 2 5 84
22 pread64 912 0.020 99.86 405 507 0 0 0
23 getdents64 724 0.016 99.87 10 426 234 0 54
24 faccessat 709 0.016 99.89 36 11 0 0 662
25 madvise 624 0.014 99.90 70 4 485 64 1
26 nanosleep 573 0.013 99.92 0 0 573 0 0
27 prlimit64 367 0.008 99.92 26 11 3 6 321
28 setsockopt 305 0.007 99.93 2 0 0 303 0
29 writev 304 0.007 99.94 0 0 2 302 0
30 accept4 302 0.007 99.94 0 0 0 302 0
31 shutdown 302 0.007 99.95 0 0 0 302 0
32 execve 196 0.004 99.96 8 10 5 0 173
33 pwrite64 192 0.004 99.96 0 192 0 0 0
34 getcwd 163 0.004 99.96 6 57 1 1 98
35 set_robust_list 163 0.004 99.97 55 15 0 0 93
36 rseq 154 0.003 99.97 49 15 0 0 90
37 clone3 131 0.003 99.97 41 4 0 0 86
38 sched_getaffinity 124 0.003 99.98 121 0 3 0 0
39 set_tid_address 120 0.003 99.98 9 11 8 2 90
40 exit_group 116 0.003 99.98 8 11 6 1 90
41 wait4 116 0.003 99.98 7 10 10 0 89
42 sysinfo 90 0.002 99.99 3 0 0 0 87
43 prctl 43 0.001 99.99 42 0 0 1 0
44 renameat 42 0.001 99.99 0 42 0 0 0
45 pipe2 41 0.001 99.99 7 30 0 4 0
46 unlinkat 41 0.001 99.99 3 4 0 0 34
47 clone 39 0.001 99.99 6 10 14 6 3
48 dup3 37 0.001 99.99 9 20 8 0 0
49 gettimeofday 34 0.001 99.99 4 0 0 0 30
50 statx 34 0.001 99.99 33 0 0 1 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions