Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-10-13 22:13:36

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Zmienna środowiskowa TZ

W pogoni za bugami w systemd, polecono mi bym "strace pid 1" i sprawdził kilka akcji. Jako, że nie miałem zbytnio jak zrobić "strace pid 1", to wpisałem to w google, a tam w jednym z linków znalazłem ciekawy wpis dotyczący zmiennej TZ — timezone. O co chodzi? Wystarczy wpisać w terminalu te dwa poniższe polecenia i porównać czas jaki zostanie zwrócony:

Kod:

$ time ls -l `perl -e 'print "/etc " x 1000'` >/dev/null
$ time TZ=Europe/Warsaw ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

U mnie wyrzuciło odpowiednio:

Kod:

1.11s user 1.34s system 99% cpu 2.461 total
0.87s user 1.15s system 99% cpu 2.031 total

Skąd ta różnica? No widać system za każdym razem odpytuje plik /etc/localtime gdy niema w środowisku obecnej zmiennej TZ. Zatem mam pytanie, czy wy tę zmienną macie ustawioną? Jakby nie patrzeć to ponad 20% lepszy performance. xD

Ostatnio edytowany przez morfik (2015-10-13 22:14:40)

Offline

 

#2  2015-10-13 22:31:52

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmienna środowiskowa TZ

Faktycznie:

Kod:

time ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m6.701s
user    0m3.527s
sys    0m3.117s

Kod:

time TZ=Europe/Warsaw ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m4.908s
user    0m2.613s
sys    0m2.251s

Też jestem ciekaw, o co biega z tą zmienną.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2015-10-13 22:35:40

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Zmienna środowiskowa TZ

Ja sobie ją ustawiłem na sztywno już. xD

Offline

 

#4  2015-10-13 22:39:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmienna środowiskowa TZ

morfik napisał(-a):

Ja sobie ją ustawiłem na sztywno już. xD

Kod:

cat /etc/env.d/00timezone
TZ=Europe/Warsaw

SOA#1

:D


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2015-10-13 22:44:43

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Zmienna środowiskowa TZ

Ten /etc/env.d/ jest specyficzny tylko dla gentoo czy dla każdego linuxa?

Offline

 

#6  2015-10-13 22:47:12

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmienna środowiskowa TZ

W Gentoo i Funtoo, w Debku i klonach  masz /etc/environment,
w Archu czy CentOS - niech się ktoś inny wypowie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2015-10-13 23:09:58

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Zmienna środowiskowa TZ

Sysvinit, 100 % obciążenia procesora (wszystkie wątki):

Kod:

logan@toshiba:~$ time ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m3.322s
user    0m1.496s
sys     0m1.220s

Kod:

logan@toshiba:~$ time TZ=Europe/Warsaw ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m3.271s
user    0m1.436s
sys     0m0.988s

Sysvinit, procek na luzie:

Kod:

logan@toshiba:~$ time ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m1.781s
user    0m0.956s
sys     0m0.824s

Kod:

logan@toshiba:~$ time TZ=Europe/Warsaw ls -l `perl -e 'print "/etc " x 1000'` >/dev/null

real    0m1.521s
user    0m0.864s
sys     0m0.656s

Wniosek? Ustal zmienną i przy okazji wywal systemd.

Ostatnio edytowany przez Pavlo950 (2015-10-13 23:10:22)

Offline

 

#8  2015-10-13 23:17:56

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Zmienna środowiskowa TZ

Ja nie mógłbym wywalić systemd, za bardzo ficzerzasty jest dla mnie. xD Poza tym, trzeba by porównać oba strace i ustalić przyczynę. To powyższe to tylko jeden przykład. W sumie ja jeszcze się nie zagłębiałem w ten cały strace -- jakaś książka by się przydała czy coś. xD

Offline

 

#9  2015-10-14 20:27:49

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Zmienna środowiskowa TZ

Offline

 

#10  2015-10-14 20:53:21

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Zmienna środowiskowa TZ

Mnie zastanawia czemu ta zmienna nie jest ustawiana globalnie z automatu. Na środowiskach graficznych też tak jest? Czy to dotyczy jedynie menadżerów okien?

Offline

 

#11  2015-10-14 21:00:06

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Zmienna środowiskowa TZ

Na XFCE też się tak dzieje.

A sprawdzał ktoś na TTY, bez Xów?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)