Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
1

Taskkill если ЦП больше 90%

21.08.2015, 18:07. Просмотров 1167. Ответов 9
Метки нет (Все метки)

WIN 2008, JAVA нагружает проц под 97 процентов.

В логе увидел следующее:

Кликните здесь для просмотра всего текста
Created 21.08.2015 09:51:17 5828 java.exe 4820 wrapper.exe "C:\Program Files\VMware\Infrastructure\jre\bin\java" -Dorg.tanukisoftware.wrapper.WrapperSimpleApp.waitForStartMain=FALSE -Dxml.config=../conf/sps-spring-config.xml -XX:+ForceTimeHighResolution -Xms256m -Xmx1024m -Djava.library.path="../lib" -classpath "../lib/wrapper.jar;../../lib/activemq-core-5.2.0.jar;../../lib/axis.jar;../../lib/bcprov-jdk16-145.jar;../../lib/commons-codec-1.3.jar;../../lib/commons-discovery-0.2.jar;../../lib/commons-lang-2.4.jar;../../lib/commons-logging-1.1.jar;../../lib/CustomSslSocketFactory.jar;../../lib/dataservice-versions.jar;../../lib/dataservice-vmodl.jar;../../lib/geronimo-j2ee-management_1.0_spec-1.0.jar;../../lib/geronimo-jms_1.1_spec-1.1.1.jar;../../lib/httpclient-4.0.1.jar;../../lib/httpcore-4.0.1.jar;../../lib/jaxrpc.jar;../../lib/catalina.jar;../../lib/tomcat-util.jar;../../lib/servlet-api.jar;../../lib/tomcat-coyote.jar;../../lib/tomcat-api.jar;../../lib/annotations-api.jar;../../lib/tomcat-juli.jar;../../lib/junit-4.4.jar;../../lib/log4j-1.2.14.jar;../../lib/query-client.jar;../../lib/query-core.jar;../../lib/query-vmodl.jar;../../lib/reflect-vmodl.jar;../../lib/saaj.jar;../../lib/spring-beans-2.5.5.jar;../../lib/spring-context-2.5.5.jar;../../lib/spring-core-2.5.5.jar;../../lib/spring-jms-2.5.5.jar;../../lib/spring-tx-2.5.5.jar;../../lib/spring-web.jar;../../lib/sps.jar;../../lib/sps-versions.jar;../../lib/sps-vmodl.jar;../../lib/stax2-api-3.0.1.jar;../../lib/vim25.jar;../../lib/vim-versions.jar;../../lib/vim-vmodl.jar;../../lib/vlsi-client.jar;../../lib/vlsi-core.jar;../../lib/vlsi-server.jar;../../lib/vmware-jsr110.jar;../../lib/woodstox-core-asl-4.0.5.jar;../../lib/VMware-ds-client-util.jar;../../lib/commons-io-1.4.jar;../../lib/storage-commons.jar;../../server/config;../../conf" -Dwrapper.key="RhxvWIkJZ-OwbBQ7bRuSUGOCznI42Pb9" -Dwrapper.port=32300 -Dwrapper.jvm.port=31300 -Dwrapper.jvm.port.min=31300 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=4820 -Dwrapper.version="3.4.0-pro" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp com.vmware.sps.StorageMain ../conf/sps-spring-config.xml


Пока не нашёл причину нагрузки, подумал что хорошо бы грохать его, так как после грохания ничего критичного не происходит.

Но блин у tasklist не нашёл параметр нагрузка на цп.

Народ помогите решить проблему
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2015, 18:07
Ответы с готовыми решениями:

Вывести на экран число 1, если больше сумма, и число 0, если больше произведение
Даны три действительных числа a, b, c. Что больше – их сумма или произведение? Вывести на экран...

Если дней больше 30 (31) и и февраль больше 28 (29), необходимо генерировать исключения
Программа вычисляет порядковый день в году с учетом високосного года. Если дней больше 30 (31) и и...

Если в диапазоне есть время больше указанного,то 500,если нет - 0
Вопрос связан с расчетом зарплаты. Есть отдельно табель учета времени прихода/ухода, на сколько...

Если первое число больше второго, то в edx запишите 1, если меньше то 2
Если первое число больше второго то до edx запишите 1 если меньше то 2. Как написать такую...

Вычислить одно выражение, если x больше y, и другое, если наоборот
Помогите решить

9
alpap
2136 / 1442 / 483
Регистрация: 26.04.2015
Сообщений: 4,910
21.08.2015, 22:33 2
bort-747, А, при чем тут bat, может надо чегой-то не подклютать или не нагружать или использовать другой софт, ну, например, яву не использую, а нагрузка при разных ситуациях тоже бывает не хилая и всему виноват Bat или с его помощью решаются такие проблемы.
0
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
21.08.2015, 23:08  [ТС] 3
хотелось бы как то делать taskkill если этот процесс нагружает свыше 90%.
То есть, скрипт который бы мониторил процессы тасклист и если находится процесс свыше 90% то ему тасккилл
0
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
22.08.2015, 18:25 4
Могу сделать на VBS, если интересно (на основе этого).
0
22.08.2015, 18:25
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
23.08.2015, 10:32  [ТС] 5
Dragokas, Спасибо, буду благодарен. Очень интересная вещь, можно ли добавить в него несколько правил? например таких как: смотреть все кроме (список наименований процессов), и смотреть только (список наименований процессов) и смотреть все без исключения?
0
ComSpec
3411 / 1955 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
25.08.2015, 12:40 6
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Цитата Сообщение от bort-747 Посмотреть сообщение
...скрипт который бы мониторил процессы тасклист и если находится процесс свыше 90% то ему тасккилл
.





Код пакетного файла с использованием встроенного кода PowerShell:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo off
 
:: Критическая загрузка ЦП процессом в процентах:
set "critical=90"
 
:: Период в секундах, в течении которого будет рассчитываться загрузка ЦП:
set "period=5"
 
set "s1=$h=@{}"
set "s2=$d=iex ($g='(Get-Date).Ticks')"
set "s3=gps|%%{$h.($_.Id)=(iex ($p='$_.TotalProcessorTime.Ticks'))}"
set "s4=sleep %period%"
set "s5=$h.GetEnumerator()"
set "s6=$x=$_.Name"
set "s7=$y=$_.Value"
set "math=((iex $p)-$y)/((iex $g)-$d)/%NUMBER_OF_PROCESSORS%*100"
set "err_mess=($_.Exception.Message -replace ('^[^:]*: |'+[char]34))+'.'"
set "s8=gps|%%{if($_.Id -eq $x){if(%math% -ge %critical%){try{spps $x -f -pa -wh}catch{%err_mess%}}}}"
 
:loop
powershell "%s1%;%s2%;%s3%;%s4%;%s5%|%%{%s6%;%s7%;%s8%}"
echo.& echo.& goto loop
.

Данный код является демонстрационным: если будет обнаружен процесс с загрузкой ЦП на 90% и более, то убиваться он не будет, а будет выводиться сообщение, например:
WhatIf: Выполнение операции "Stop-Process" над целевым объектом "java (1504)".
.

Для "боевого" применения уберите в 17-ой строке параметр "-wh" ("-WhatIf"), то есть эта строка должна выглядеть так:
Windows Batch file
17
set "s8=gps|%%{if($_.Id -eq $x){if(%math% -ge %critical%){try{spps $x -f -pa}catch{%err_mess%}}}}
.
2
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
25.08.2015, 14:07  [ТС] 7
ComSpec, Получил вот такое сообщение
0
Миниатюры
Taskkill если ЦП больше 90%  
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
25.08.2015, 20:01 8
У многих процессов в системе есть шанс на мгновение подскочить свыше 90 % по нагрузке ЦПУ.
Я думаю, здесь правильным вариантом было бы засечь процесс, выждать пару секунд, проверить нагрузку еще раз. Если подтвердилась, то - kill.
0
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
28.08.2015, 09:39  [ТС] 9
Всем спасибо, даже рассказать нечего, даже не знаю что это было на той неделе, но после выходных проблем с нагрузкой на процессор не было. Потому не было возможности проверить как работает BAT от ComSpec, он сейчас запущен, но в окне все пусто и сообщений о критичных процессах нет.

Добавлено через 1 минуту
Цитата Сообщение от Dragokas Посмотреть сообщение
Я думаю, здесь правильным вариантом было бы засечь процесс, выждать пару секунд, проверить нагрузку еще раз. Если подтвердилась, то - kill.
Вполне реально, думаю даже можно не пару секунд, а одну или пару минут.
0
bort-747
43 / 65 / 9
Регистрация: 07.06.2013
Сообщений: 484
Записей в блоге: 1
31.08.2015, 12:42  [ТС] 10
Сегодня вот такую картинку поймал
0
Миниатюры
Taskkill если ЦП больше 90%  
31.08.2015, 12:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2015, 12:42

Как быстро вытащить данные, если таблицы, если она больше 13Гб
В общем скрипт висит в кроне, вызывается каждые 10 секунд (только так). Ищет новые записи по...

Если элемент массива меньше 1000 - то поменять его на ноль, если больше - заменить на 1
Массив из 10 чисел, если число меньше 1000 то поменять на ноль если больше то заменить на 1 , и...

Вывести первое число, если оно больше второго, и оба числа, если это не так
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru