Running iocage console <jail> is much much slower than running jexec ioc-<jail>. I ktrace'd a run of iocage console <jail> and saw a long list of forking:
- git (2 times)
- ldconfig (2 times)
- cc (2 times)
- ld.lld
- objdump
- sysctl
- zpool
- zfs (19 time)
- jls (5 times)
- jexec
- login
- setfib
- login
- sh
- resizewin
- sh
All of this takes more than 3 seconds.
Running jexec ioc-<jail> takes under 1 second, with no forking, just a single exec() to the shell.
Questions:
- Why does it run git?
- Why the compiler?
- Why 19 zfs runs?
- Why 5 jls?
Additionally, the first 0.87 seconds of clock time is in the first python process, which seems like a long time, too, on a 2GHz ARM Cortex-A72.
Running
iocage console <jail>is much much slower than runningjexec ioc-<jail>. I ktrace'd a run ofiocage console <jail>and saw a long list of forking:All of this takes more than 3 seconds.
Running
jexec ioc-<jail>takes under 1 second, with no forking, just a single exec() to the shell.Questions:
Additionally, the first 0.87 seconds of clock time is in the first python process, which seems like a long time, too, on a 2GHz ARM Cortex-A72.