/ / dlaczego drastyczna degradacja wydajności podczas uruchamiania polecenia jako inny użytkownik - c, linux, bash, redhat, su

dlaczego drastyczna degradacja wydajności przy uruchamianiu polecenia jako inny użytkownik - c, linux, bash, redhat, su

mam cześć świata C przykład ./a.out

Teraz zmierzyłem czas wykonania używając time poniżej polecenia

time  ./a.out
Hello World
real    0m0.001s
user    0m0.000s
sys     0m0.002s

time runuser -l root -c "./a.out"
real    0m0.017s
user    0m0.004s
sys     0m0.011s

time su -s /bin/bash -c "./a.out" root
Hello World
real    0m0.080s ---> 80 times slower
user    0m0.005s
sys     0m0.071s

Dlaczego jest trzecie polecenie 80 razy wolniej niż pierwsze polecenie?

Środowisko - Redhat 7

Odpowiedzi:

8 dla odpowiedzi № 1

Drugim i trzecim poleceniem time polecenie również razy uruchomienie runuser, su i bash, co również zajmuje trochę czasu.

Nie powinno być tak wielkiej różnicy, jeśli to zrobisz:

$ runuser -l root -c "time ./a.out"

i:

$ su -s /bin/bash -c "time ./a.out" root