2015-01-22 8 views
7

Chcę wygenerować plik, który ma dzienniki cpu usage w formacie 24-godzinnym (od 00:00:00 do 23:59:59). Używam komendy sar, ale daje ona czas w formacie AM lub PM, który nie jest wymagany.Jak uzyskać wartość polecenia sar w formacie 24-godzinnym (od 00:00:00 do 23:59:59) w systemie Linux?

Próbka:

12:01:01 AM  all  1.33  0.00  1.06  0.24  0.00  97.37 
12:02:01 AM  all  1.30  0.00  1.02  0.04  0.00  97.64 

Oczekiwany wynik:

00:01:01 all  1.33  0.00  1.06  0.24  0.00  97.37 
00:02:01 all  1.30  0.00  1.02  0.04  0.00  97.64 

Odpowiedz

8

Program sar jest tzw locale świadomy Program. Oznacza to, że format wyjściowy jest kontrolowany przez zmienne środowiskowe LC_*. Zmienna LC_TIME odpowiada za wyprowadzanie danych czasowych. (patrz man locale).

Wygląda używasz systemu, w którym LC_TIME jest ustawiony na en_US - locale używając 12hours AM/PM format (lub LC_TIME trzymano pusty która doprowadzi do korzystania z domyślnych ustawień regionalnych). Musisz użyć ustawienia narodowego, które używa formatu 24-godzinnego. Powiedzmy, że en_UK. Można określić je w wierszu poleceń:

LC_TIME=en_UK.utf8 sar 

wyjściowy:

Linux 3.13.0-44-generic (desktop1) 01/22/15 _x86_64_ (4 CPU) 

00:00:01  CPU  %user  %nice %system %iowait %steal  %idle 
00:02:01  all  2,26  0,00  0,41  0,71  0,00  96,63 
00:04:01  all  2,68  0,00  0,72  0,46  0,00  96,13 
... 

Uwaga! Jeśli locale en_UK.uft8 nie jest dostępny w systemie, trzeba wygenerować go za pomocą:

sudo locale-gen en_UK.utf8 

lub użyć POSIX lub C:

LC_TIME='POSIX' sar 
LC_TIME='C' sar 
Powiązane problemy