D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Команды системы (TCL) / syschk

syschk

Запускает демон контроля системы

Демон проверяет систему, функционирующую в среде Unix, с целью выявления ненормальных состояний.

syschk keyword{=value} {...} {(options}
syschk edit
syschk now 
syschk start
syschk stop
syschk

Утилита "syschk" запускает фантомный процесс, который периодически проверяет, что система работает нормально. Если какой-то системный параметры переходят некоторый порог, заданный системным администратором, то одному или нескольким пользователям отправляется сообщение, и, опционально, в файл "errors" помещается запись. Контролируются следующие параметры:

Unix Swap Когда "syschk" запускается, он всегда проверяет условие, что размер области подкачки Unix превышает размер физической памяти, по крайней мере, вдвое. Затем он периодически проверяет использование области подкачки на предмет превышения допустимого уровня (по умолчанию, 90% от всего объема доступного пространства).
Total System CPU Процент использования времени процессора системой (ядро, драйверы и др.) должен оставаться ниже определенного уровня (по умолчанию, 25%).
Runaway Processes При каждом замере параметров контролируется время процессора, израсходованное активными процессами. Если некоторый процесс израсходует больше определенного процента от времени между замерами, то будет выдано предупреждение. Например, если период между замерами параметров составляет 10 минут (600 секунд), и, если какой-то процесс забрал более 5% от этого времени (30 секунд, огромное время для процессора), то этот процесс, вероятно, ненормально сильно загружает процессор (возможно зацикливание). "syschk" выводит информацию о состоянии процессов Unix ("ps") и результат команды "where", если это процесс D3. Если процесс превышает установленный лимит более трех раз подряд, то вывод информации об этой ошибке прекращается. Это избавляет системного администратора от получения однотипных сообщений о процессе, который, например, просто генерирует большой отчет. Если процесс продолжает так же выполняться и после девяти проверок, то вывод сообщений возобновляется еще для трех замеров, и описанный цикл повторяется снова.
Unix File System Usage Проверяется состояние определенного заранее списка файловых систем Unix, чтобы зафиксировать момент, когда они близки к переполнению (используется более 90%). Выполняется для предотвращения сбоя Unix по причине переполнения критических файловых систем. По умолчанию, проверяется только корневая файловая система '/'.
Overflow Usage Когда использование области переполнения D3 превышает определенный процент (по умолчанию 90%) от общего размера области, формируется соответствующее сообщение. Вывод сообщения по переполнению производится только один раз в день при первом после полудня замере параметров.
Basic Usage Отслеживается использование пространства "basic", выделенного для совместно используемых программ FlashBASIC. Когда использование пространства "basic" превышает заданный уровень в процентах к общему объему этого пространства, формируется сообщение. По умолчанию этот уровень равен 90%. Для более детальной проверки пространства "basic" используется команда "shpstat".

Эта команда должна запускаться в счете "dm". В любой момент времени поддерживается только один экземпляр фантомного процесса "syschk".

Формы запуска:
syschk start запускает команду syschk на выполнение как фантом с теми же аргументами, что использовались при последнем запуске. Если необходимо, то процесс будет остановлен, а затем запущен снова. Если процесс ни разу не выполнялся, то применяется набор умолчаний.
syschk edit вызывает процессор Update для редактирования аргументов, используемых при запуске команды
syschk now заставляет фантомный процесс "syschk" выполнить замер параметров незамедлительно и отправить предупреждения, если они есть, на терминал, который выдал запрос на замер, не используя стандартный механизм оповещения
syschk stop останавливает процесс syschk, выполняемый как фантом
syschk без аргументов просто выводит отчет, содержащий номер порта, на котором выполняется процесс syschk, время его запуска, параметры процесса и текущие значения некоторых параметров системы

Команда "syschk", вызванная с одним или несколькими аргументами, создает фантомный процесс и сразу возвращает управление в TCL. Аргументы могут быть указаны в любом порядке.

keyword{=value} задает системные параметры, которые надо контролировать:

sampling=[ sec | hh:mm:ss ] Задает интервал между замерами. Интервал может быть задан в секундах или в формате hh:mm:ss. Если параметр "sampling" не указан, то по умолчанию принимается 30 минут.
notify=[ user{,..},!n{,..}, /dev/ ttyXX{,...} ,* | OFF ] Задает список пользователей D3, портов D3 или устройств Unix, оповещаемых в случае аномальных ситуаций. Пользователи могут быть заданы списком идентификаторов пользователей D3, номеров портов D3 (десятичных) с восклицательным знаком (!) в качестве префикса, устройств Unix с косой чертой (/) в качестве префикса или любой их комбинацией. Если указана '*', то предупреждаются все пользователи в системе. Если указана точка ('.'), то она замещается именем tty. Если указано 'OFF', то оповещение отключается. Если параметр "notify" не указан или указанные пользователи не зарегистрированы в системе, то сообщения отправляется пользователю "dm" или "sysprog". Если указано устройство Unix, то оно должно существовать и запись в него должна быть разрешена на момент запуска "syschk".
syscpu{= percentage {%}} Задает максимальную долю в процентах от полного времени процессора, которую разрешается расходовать Unix на системные нужды. Если процент не указан, то по умолчанию принимается 25%.
proccpu{= percentage {%}} Задает максимальную долю в процентах использования процессора отдельным процессом. Если процент не указан, то по умолчанию принимается 25%. Определение этого процента представляет некоторую проблему. Например, в системе с одним активным пользователем, выполняющим программу FlashBASIC с интенсивным использованием процессора, процесс может забирать 100% ресурса процессора, поскольку других процессов нет. Для предотвращения ложных предупреждений следует выбирать достаточно большой интервал между замерами. В большинстве случаев нереально, чтобы процесс отнимал 100% ресурсов процессора в течение 15 минут.
swapusg{= percentage {%}} Задает допустимый уровень использования области подкачки в любой момент времени. 'percentage' - это процентная доля от объема области подкачки, которую допустимо использовать. Если значение 'percentage' не указано, то аномальным считается использование свыше 90% объема области подкачки.
ovfusg{= percentage {%}} Задает допустимый уровень использования области переполнения в любой момент времени. 'percentage' - это процентная доля от полного объема области переполнения, которую допустимо использовать. Если значение 'percentage' не указано, то аномальным считается использование свыше 90% всего пространства D3. Отчет об ошибках выводится только один раз в день.
basicusg{= percentage {%}} Задает допустимый уровень использования области памяти 'basic' в любой момент времени. 'percentage' - это процент использования области 'basic'. Если значение 'percentage' не указано, то аномальным считается использование области 'basic' более чем на 90% от ее общего объема.
diskusg= filesystem{,filesystem,..} Задает список файловых систем Unix, которые не должны заполняться более чем на 90%. Список должен всегда включать корневую файловую систему '/'. В зависимости от конфигурации системы, в список также могут включаться '/usr', '/tmp'. Некоторые системы Unix, не могут загружаться с заполненной корневой файловой системой '/'. Если список не указан, то проверяется только корневая файловая система '/'.
log Записывать сообщения в файл "errors". Это ключевое слово эквивалентно опции (L).
nolog Не записывать сообщения в файле "errors". Это ключевое слово эквивалентно отсутствию опции (L). Оно отменяет опцию (L).

При запуске как фантом "syschk" выполняется бесконечно, пока система не будет остановлена. Для остановки процесса используйте команду "syschk stop".

Опции:

F Запустить syschk в приоритетном режиме как текущий процесс, а не как фантомный процесс. В этом случае единственный способ остановить процесс - это выполнить break / end или logoff.
L Записывать краткие итоговые сообщения в файл "errors". Результат начальной проверки области подкачки записывается всегда. Можно указать с помощью ключевого слова "log".
Q Тихий режим. Подавляет вывод некоторых пользовательских сообщений ("started", "stopped")
V Подробный режим вывода сообщений. Эта опция используется, когда команда "syschk" выполняется в приоритетном режиме, а не как фантом.

Примеры:

syschk sampling=00:30:00 syscpu=10% 
         notify=/dev/tty0,bob,!0 
         swapusg=60% proccpu=10% log

Запускает фантомный процесс для проверки системы каждые 30 минут на использование процессора свыше 10%, на использование области подкачки свыше 60% и ограничения для процессов 10%. В случае выхода параметров за указанные рамки посылается сообщение на терминал Unix '/dev/tty0', пользователю Pick 'bob', если он в системе, и на линию 0, вне зависимости от ее подключения. Кроме этого, в файл 'errors' записывается короткое сообщение. Остальные параметры принимают свои значения по умолчанию.

syschk

Проверяет, запущен ли процесс syschk. Команда выводит, например, следующее:

    syschk is running on port 132
    Started on 03/11/94 at 08:20:21
    Current running parameters:
      Sampling period           00:30:00
      Notify list               /dev/tty0  bob  !0
      Maximum system CPU %      10
      Maximum CPU % per process 25
      Maximum % of swap         60
      Maximum % of overflow     90
      Unix file systems         /
      Log messages (0=no;1=yes) 1
    Current System Status:
      User CPU usage            3%
      System CPU usage         11%
      Waiting for IO           82%
      Idle CPU                  4%
      Total swap space         128 Mb
      Used swap space           76 Mb (59%)
syschk stop (q

Останавливает фантомный процесс "syschk" с подавлением вывода сообщения "stopped". Эту команду можно включить в макрос "user-shutdown".

syschk start

Перезапускает фантомный процесс "syschk" с теми же параметрами.

syschk edit

Редактирует командную строку syschk для изменения аргументов. Для редактирования используются команды процессора Update.