Монитор "Процент загруженности процессора" SUSE Linux Enterprise Server 9
Этот монитор проверяет уровень максимальной загрузки каждого процессора. Если получено предупреждение от этого монитора, то можно предпринять действия по возврату системы в рабочее состояние.
Уровень загрузки процессора — это время занятости процессора в процентах в течение интервала выборки.
Высокие значения уровня загрузки возникают в следующих обстоятельствах:
Запускаются новые процессы.
Процессы заблокированы во время ожидания ввода-вывода.
В системе запущено слишком много процессов.
Недостаток памяти приводит к избыточной подкачке и высокой интенсивности ввода-вывода.
Для устранения высокой загрузки процессора выполните одно или несколько из следующих действий:
Идентифицируйте процессы, которые выполнялись во время максимальной загрузки процессора. Выполнить команду "top" или запустить задачу "10 основных процессов ЦП" в представлении состояний, чтобы получить список процессов, сортированный по степени использования центрального процессора. По умолчанию в списке выводятся только процессы, расходующие больше всего ресурсов процессора, и соответствующие идентификаторы процесса.
Остановите или завершите ненужные процессы. В полученном в результате выполнения команды "top" списке определите неправильные или ненужные процессы и их идентификаторы. Введите команду "kill" и идентификатор ненужного процесса, чтобы удалить этот процесс. Например если идентификатор процесса 4510, введите команду "kill 4510".
Добавьте в компьютер дополнительные процессоры или физическую память.
Переместите приложения на один или несколько дополнительных серверов.
Можно просмотреть наиболее активных потребителей ресурсов процессора, выполнив задачу "10 процессов с максимальным использованием процессора" из представления состояний.
Target | Microsoft.Linux.SLES.9.Processor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Linux.SLES.9.Processor.PercentProcessorTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.Processor" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.SLES.9.Processor.PercentProcessorTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Processor Time</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>//*[local-name()="Name"]</InstanceProperty>
<Value>$Data///*[local-name()="PercentProcessorTime"]$</Value>
<Threshold>95</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>