четверг, 26 января 2012 г.

Как прочитать код ошибки в windows

Во время настройки одного из заданий для планировщика, в момент сохранения, появилась ошибка. Ошибка имела следующий код 2147944309. Абсолютно не информативно.
Предлагаю хинт – после трех манипуляций без всякого гугла ошибка станет чуть более понятной. Потребуется два инструмента: калькулятор в режиме «Программист» и утилита командной строки. Скармливаем калькулятору номер ошибки и переводим его в шестнадцатеричную систему (настоящие гуру могут не запускать калькулятор, а проделать операцию в уме  ). Получили 80070775. Первый четыре цифры указывают на тип ошибки. Вторые четыре на номер ошибки. Нас интересует номер 0775. Не забываем, что это шестнадцатеричная система. При помощи калькулятора переводим в десятичную:

0775(HEX)=1909(DEC)

Теперь нам понадобится командная строка.

Ввожу:

net helpmsg 1909.
Получаю ответ:

Учётная запись пользователя заблокирована и не может быть использована для входа в сеть

Безликий код стал более читаемой ошибкой.

источник http://it-blojek.ru/?p=464

Linux оценка производительности и загрузки

1). sar | less

Linux 2.6.18-238.9.1.el5PAE (redhat)    26.01.2012

00:00:03          CPU     %user     %nice   %system   %iowait    %steal     %idle
11:10:01          all      5,07      0,00      2,52      0,32      0,00     92,09
11:20:01          all     13,05      0,00      2,91      0,60      0,00     83,44
11:30:01          all      7,39      0,00      2,81      0,49      0,00     89,31
11:40:01          all      8,81      0,00      2,86      0,83      0,00     87,50

2). iostat -m 

Linux 2.6.18-238.9.1.el5PAE (redhat)    26.01.2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3,84    0,04    2,23    1,09    0,00   92,80

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
cciss/c0d0       26,81         0,04         0,26     275736    1926453
cciss/c0d0p1     26,79         0,04         0,26     273628    1924436
cciss/c0d0p2      0,02         0,00         0,00       2107       2016

-m - показывает информацию в мегабайтах

3). mpstat -P ALL 2 5

Linux 2.6.18-238.9.1.el5PAE (redhat)    26.01.2012

12:03:04     CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
12:03:06     all    1,75    0,00    2,25    0,25    0,00    0,00    0,00   95,76   1279,00
12:03:06       0    1,50    0,00    2,00    0,00    0,00    0,00    0,00   96,50   1000,50
12:03:06       1    2,50    0,00    4,00    0,00    0,00    0,00    0,00   93,50      0,00
12:03:06       2    1,01    0,00    1,52    0,00    0,00    0,00    0,00   97,47    244,50
12:03:06       3    1,49    0,00    1,49    1,00    0,00    0,00    0,00   96,02     34,00

-------------------------------(еще 4 отчета)---------------------------------------

Среднее:  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
Среднее:  all    6,72    0,00    2,85    0,27    0,02    0,05    0,00   90,08   1308,10
Среднее:    0    4,70    0,00    2,60    0,00    0,00    0,00    0,00   92,70   1000,70
Среднее:    1    6,99    0,00    4,10    0,00    0,00    0,00    0,00   88,91      0,00
Среднее:    2    3,20    0,00    1,90    0,80    0,00    0,20    0,00   93,89    263,30
Среднее:    3   11,98    0,00    2,79    0,30    0,10    0,00    0,00   84,83     44,10

 mpstat -P ALL 2 5 - показывает 5 отчетов статистики для всех процессоров с 2 секундным интервалов

4). dstat

смотрим только винчестер
dstat -d
-dsk/total-
 read  writ
  77k  540k
   0    24k

Смотрим кто лучше грузит процессор, веник, латенцию
dstat -c --top-cpu -d --top-bio --top-latency
----total-cpu-usage---- -most-expensive- -dsk/total- ----most-expensive---- --highest-total--
usr sys idl wai hiq siq|  cpu process   | read  writ|  block i/o process   | latency process 
  4   2  93   1   0   0|qrunner      0.5|  77k  540k|crond       287k  180k|khelper       153
  3   3  94   0   0   0|asterrc      0.2|   0     0 |havp          0   224k|ksoftirqd/3    14
 11   4  85   0   0   0|imapd        7.2|   0     0 |rmngr         0    32k|ksoftirqd/3    58
 10   5  84   0   0   1|rphost       6.2|   0  3224k|kjournald     0  1236k|ksoftirqd/1    51
 12   4  82   0   0   1|rphost       8.5|   0     0 |rmngr         0    96k|ksoftirqd/1    29
  6   3  91   0   0   0|rphost       1.8|   0     0 |postgres: l   0    16k|ksoftirqd/1    39

также можно и так
dstat --top-cpu-adv --top-latency --top-mem


Смотрим какой процесс лучше нагружает винчестер
dstat --top-bio
----most-expensive----
  block i/o process
crond       287k  180k
postgres: w   0    80k
kjournald     0  1128k
MailScanner   0    84k
MailScanner  28k 1552k
(squid)       0    12k
clamd         0  8192B


Проверка скорости винчестеров можно сделать используя команду
#sar -d 5 0
если у в поле %util значение > 70% хотя бы для одного винчестера, то он тормозит операции ввода-вывода и является причиной большой загрузки. Хотя система пока может и работать нормально

также полезна утилита htop которая показывает загрузку каждого ядра и какие процессы грузят ядра больше всего, как и утилита ntop, в которой можно посмотреть в реальном времени загрузку процессора, сети, дисков и другие вещи.

http://dag.wieers.com/home-made/dstat/ - здесь можно почитать

P.S. есть также неплохие утилиты htop, iotop