<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Скрипт для расчёта средней загрузки CPU.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Скрипт для расчёта средней загрузки CPU. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 12 Aug 2026 22:41:17 -0400</pubDate>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267705">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! Похоже, этот синтаксис больше невалиден для ROS 6.41. Не могли бы вы подсказать, как его исправить?:foreach o in=$cpuarray do={:set arraytot ($arraytot + $o)}; <br />
			<i>31.12.2017 18:28:00, EIKA.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267705</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267705</guid>
			<pubDate>Sun, 31 Dec 2017 18:28:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267704">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Полностью согласен! <br />
			<i>17.08.2017 20:40:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267704</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267704</guid>
			<pubDate>Thu, 17 Aug 2017 20:40:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267703">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это эффект наблюдателя, как известно в физике. Просто запуск скрипта для мониторинга нагрузки уже увеличит эту нагрузку и, соответственно, сделает результаты недействительными. Чем сложнее скрипт, тем выше нагрузка, и чем слабее процессор, тем выше нагрузка. Лучше было бы использовать `fetch` и отправлять HTTP POST-запрос с текущей загрузкой процессора на сервер каждые 60 секунд, а уже сервер пусть делает всю работу. <br />
			<i>17.08.2017 17:36:00, IntrusDave.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267703</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267703</guid>
			<pubDate>Thu, 17 Aug 2017 17:36:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267702">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Придется устанавливать этот скрипт на более мощную машину с 36 ядрами, но он не работает. Есть какие-нибудь идеи? <br />
			<i>17.08.2017 16:23:00, orfi.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267702</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267702</guid>
			<pubDate>Thu, 17 Aug 2017 16:23:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267701">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Попробовал скрипт на CPE OS v5.17, настроенной как PPPoe-клиент. В процессе тестирования из лог-файла заметил, что он запускает только 1 или, возможно, 2 из 5 образцов с загрузкой CPU на 100%, этого явно недостаточно для расчетов. Еще заметил, что лог забит попытками подключения PPPoe до и после запуска этих 1-2 образцов. Я отключил PPPoe-клиента, но логирование попыток подключения все равно продолжается. <br />
			<i>13.06.2012 08:52:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267701</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267701</guid>
			<pubDate>Wed, 13 Jun 2012 08:52:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267700">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, я снова изменил скрипт и попробовал 20 образцов, но оказалось, что процессор, работающий на 100%, не может выполнить задачу и выдаёт неверное среднее значение, из-за чего роутер не перезагружается. Поэтому я уменьшил `maxsample` до 5, и с 100% нагрузкой он перезагружается.<br /><br />:global datum [/system clock get date];<br />:global time [/system clock get time];<br />:local maxsamples 5<br />:global cpuarray<br />:set cpuarray ([/system resource get cpu-load] , [:pick $cpuarray 0 ($maxsamples - 1)])<br />:local arraytot 0<br />:foreach o in=$cpuarray do={:set arraytot ($arraytot + $o)};<br />:local arraysize [:len $cpuarray]<br />:local avgcpuload ($arraytot / $arraysize)<br />:log info ("CPU Load Captures:")<br />:log info $cpuarray<br />:log info ("Array Total: $arraytot")<br />:log info ("Array size: $arraysize of $maxsamples")<br />:global highavgcpuload<br />:if ([:len $highavgcpuload] = 0 || $highavgcpuload &lt; $avgcpuload) do={:set highavgcpuload $avgcpuload}<br />:log info ("CPU Load - Avg: $avgcpuload High: $highavgcpuload")<br />:if ($arraysize = $maxsamples && $avgcpuload &gt;= 100) do={<br />/tool e-mail send server=000.000.000.000 to="xxxxxxx@hotmail.com" subject=[/system identity get name] from="xxxxxxx@nospam.com" body=[/system identity get name] ," At $time the CPU Load on this router was running at 100%")<br /> /system reboot;<br />}; <br />
			<i>30.12.2011 00:58:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267700</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267700</guid>
			<pubDate>Fri, 30 Dec 2011 00:58:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267699">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Тест пропускной способности TCP до localhost (127.0.0.1). Если у вас есть правило брандмауэра, которое отбрасывает все входящие соединения, отключите его перед запуском теста. <br />
			<i>29.12.2011 23:21:00, THG.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267699</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267699</guid>
			<pubDate>Thu, 29 Dec 2011 23:21:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267698">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нашёл, что мой скрипт просто перезагружается при запуске, поэтому отредактировал. Теперь, надеюсь, будет работать правильно, но у меня пока нет роутера с высокой загрузкой ЦП. Странная просьба (обычно пользователи ищут советы по снижению загрузки ЦП), но есть ли какие-нибудь предложения, как имитировать высокую загрузку ЦП, чтобы протестировать этот скрипт?<br /><br />:global datum [/system clock get date];<br />:global time [/system clock get time];<br />{:local maxsamples 20<br />:global cpuarray<br />:set cpuarray ([/system resource get cpu-load] , [:pick $cpuarray 0 ($maxsamples - 1)])<br />:local arraytot 0<br />:foreach o in=$cpuarray do={:set arraytot ($arraytot + $o)};<br />:local arraysize [:len $cpuarray]<br />:local avgcpuload ($arraytot / $arraysize)<br />:log info ("CPU Load Captures:")<br />:log info $cpuarray<br />:log info ("Array Total: $arraytot")<br />:log info ("Array size: $arraysize of $maxsamples")<br />:global highavgcpuload<br />:if ([:len $highavgcpuload] = 0 || $highavgcpuload &lt; $avgcpuload) do={:set highavgcpuload $avgcpuload}<br />:log info ("CPU Load - Avg: $avgcpuload High: $highavgcpuload")<br />:if ($arraysize = $maxsamples && $avgcpuload &gt;= 100) <br />}<br /> /tool e-mail send server=000.000.000.000 to="xxxxxxx@hotmail.com" subject=[/system identity get name] from="xxxxxxx@nospam.com" body=(" on $datum at $time the memory on this repeater got to ", [/system resource get free-memory])<br /> &nbsp;/system reboot;<br />}; <br />
			<i>29.12.2011 17:11:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267698</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267698</guid>
			<pubDate>Thu, 29 Dec 2011 17:11:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267697">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я изменил вышеприведенный скрипт, чтобы он соответствовал моим требованиям, но как новичок в этом деле, хотел бы узнать, правильно ли я его закодировал для следующей задачи: каждые 15 минут планировщик запускает скрипт =RebootOnHighCPU. Если ресурсы системы менее 5%, он в течение 20 секунд сравнивает загрузку ЦП. Если загрузка ЦП превышает 100% (например, если по совпадению скрипт совпал с кратковременной высокой загрузкой ЦП), он отправляет электронное письмо и автоматически перезагружает роутер. В электронном письме указано имя роутера и время перезагрузки. Если ресурсов системы более 5% свободно, отменяются остальные действия скрипта, чтобы не выполнять ненужную задачу. Все верно?<br /><br />/system scheduler<br />add comment="" disabled=no interval=15m name=RebootOnHighCPU on-event="/system script run RebootOnHighCPU" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive start-date=jan/01/1970 start-time=startup /system script<br />add name=RebootOnHighCPU Код скрипта:<br />global datum<br />[/system clock get date];<br />:global time<br />[/system clock get time];<br />:local percentfree ((100 * [/system resource get free-memory]) / [/system resource get total-memory])<br />/system resource<br />:if ($percentfree &lt; 5) do={:local maxsamples 20<br />:global cpuarray<br />:set cpuarray ([/system resource get cpu-load] , [:pick $cpuarray 0 ($maxsamples - 1)])<br />:local arraytot 0<br />:foreach o in=$cpuarray do={:set arraytot ($arraytot + $o)};<br />:local arraysize [:len $cpuarray]<br />:local avgcpuload ($arraytot / $arraysize)<br />:log info ("CPU Load Captures:")<br />:log info $cpuarray<br />:log info ("Array Total: $arraytot")<br />:log info ("Array size: $arraysize of $maxsamples")<br />:global highavgcpuload<br />:if ([:len $highavgcpuload] = 0 || $highavgcpuload &lt; $avgcpuload) do={:set highavgcpuload $avgcpuload}<br />:log info ("CPU Load - Avg: $avgcpuload High: $highavgcpuload")<br />:if ($arraysize = $maxsamples && $avgcpuload &gt;= 100) <br />}<br /> &nbsp;/tool e-mail send server=000.000.000.000 to="xxxxxxx@hotmail.com" subject=[/system identity get name] from="xxxxxxx@nospam.com" body=(" on $datum at $time the memory on this repeater got to ", [/system resource get free-memory])<br /> &nbsp;/system reboot;<br />}; <br />
			<i>29.12.2011 00:30:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267697</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267697</guid>
			<pubDate>Thu, 29 Dec 2011 00:30:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267696">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Тебе не нужна логика для основной функции - перезагрузка при высокой нагрузке. Можешь даже удалить все строки, начинающиеся с ":log". <br />
			<i>03.12.2011 17:43:00, psamsig.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267696</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267696</guid>
			<pubDate>Sat, 03 Dec 2011 17:43:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267695">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У нас в поле есть несколько единиц RB750 (НЕ RB750G), которые совершенно не справляются с количеством людей, подключающихся через Hotspot там, где они установлены, и это приводит к тому, что единицы загружаются на 100% по использованию ЦП. Эти клиенты постоянно звонят нам, потому что не могут войти в систему, и нам приходится подключаться к устройствам удаленно через telnet, чтобы выдать команду перезагрузки, потому что Winbox всегда время измеряет до того, как процесс входа завершится, или просто висит там бесконечно и никогда не измеряет время, но также ничего не делает. Обычно нам приходится перезагружать эти устройства как минимум один раз в день, но обычно 2-3 раза в день, в зависимости от количества людей, подключающихся в любую данную ночь. Когда нам приходится подключаться по telnet и перезагружать, обычно требуется от 5 до 15 минут, чтобы мы могли успешно войти в систему и чтобы команда перезагрузки фактически зарегистрировалась на устройстве и вызвала перезагрузку. Это становится очень утомительным для нас, и это нехорошо для наших клиентов, потому что они (понятно) очень расстраиваются, постоянно звоня нам. Перезагрузка решает проблему, и обычно требуется некоторое время, прежде чем ЦП снова загрузится на 100%. Я уже знаю, что устройствам нужно обновить, и мы в процессе попыток убедить нашего клиента сделать это (другая компания владеет/эксплуатирует оборудование, а мы занимаемся выставлением счетов, технической поддержкой и мониторингом состояния системы), но требуется время, чтобы они получили одобрение на стоимость замены, а также для планирования выезда техника для установки нового оборудования, и нам нужно временное решение, чтобы не тратить много времени на ручную перезагрузку этих устройств. Я пробовал скрипты из этой темы, но следующая строка (если я неправильно ее интерпретирую) заставляет меня думать, что я должен настроить запись "/system logging", которая устанавливает "info" с действием "echo". # Установить ведение журнала info для echo в терминале в системном ведении журнала однако, когда я это делаю (даже сразу после перезагрузки устройства и оно больше не работает на 100% ЦП), действие ведения журнала info на самом деле приводит к тому, что ЦП загружается на 100%, что по сути сводит на нет цель скрипта, и если оставить это в силе, то фактически вызовет перезагрузку системы каждые 5 минут (я установил интервал планировщика равным 10 секунд, а "arraysize" равным 30), вместо того, чтобы только тогда, когда система на самом деле загружена на 100%, и мы вручную перезагружаем ее. Есть ли какой-нибудь другой скрипт, который позволит системе перезагрузиться сама после 5 минут 100% загрузки ЦП, который на самом деле не заставит устройство загружаться на 100% загрузки ЦП? <br />
			<i>03.12.2011 04:49:00, xunil76.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267695</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267695</guid>
			<pubDate>Sat, 03 Dec 2011 04:49:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267694">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Средняя загрузка CPU &gt;= 100. Ну, надеюсь, что загрузка CPU (или среднее значение) никогда не будет выше 100! <br />
			<i>15.05.2011 20:50:00, dssmiktik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267694</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267694</guid>
			<pubDate>Sun, 15 May 2011 20:50:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267693">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Но мне нужно логировать, какой профиль использует больше CPU. Или какой профиль загружает процессор более чем на 30-50%. <br />
			<i>15.05.2011 15:26:00, jwelebd.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267693</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267693</guid>
			<pubDate>Sun, 15 May 2011 15:26:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267692">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это должно работать: # Название: Средняя загрузка ЦП<br /># Настройка планировщика для запуска этого с интервалом в 1 секунду (Частота дискретизации)<br /># Настройка информационных логов для вывода в терминал в системном журналировании<br />#<br /># maxsamples — это количество образцов загрузки ЦП для хранения<br /># Экспериментируйте со значением, чтобы увеличить или уменьшить количество образцов<br /># Чем больше значение, тем дольше рассчитывается средняя загрузка ЦП.<br />:local maxsamples 20<br /><br /># Получение образцов загрузки ЦП, ограничение cpuarray до размера массива<br />:global cpuarray<br />:set cpuarray ([/system resource get cpu-load] , [:pick $cpuarray 0 ($maxsamples - 1)])<br /><br /># Сложение всех значений в массиве<br />:local arraytot 0<br />:foreach o in=$cpuarray do={:set arraytot ($arraytot + $o)};<br /><br /># Деление суммы значений массива на количество значений в cpuarray<br />:local arraysize [:len $cpuarray]<br />:local avgcpuload ($arraytot / $arraysize)<br /><br /># Отображение результатов в окне терминала<br />:log info ("Захват загрузки ЦП:")<br />:log info $cpuarray<br />:log info ("Общая сумма массива: $arraytot")<br />:log info ("Размер массива: $arraysize из $maxsamples")<br />:global highavgcpuload<br />:if ([:len $highavgcpuload] = 0 || $highavgcpuload &lt; $avgcpuload) do={:set highavgcpuload $avgcpuload}<br />:log info ("Загрузка ЦП - Среднее: $avgcpuload Высокое: $highavgcpuload")<br /><br /># Перезагрузка, если все образцы показывают высокую загрузку<br />:if ($arraysize = $maxsamples && $avgcpuload &gt;= 100) &nbsp;do={ /system reboot; } <br />
			<i>08.07.2010 14:55:00, psamsig.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267692</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267692</guid>
			<pubDate>Thu, 08 Jul 2010 14:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267691">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, но не работает. А когда запускаю в терминале, чтобы посмотреть ошибку, там пишет: Script Error: cannot add time interval to nothing. Очень бы хотелось получить быстрый ответ, потому что мне этот скрипт очень нужен. Спасибо. <br />
			<i>24.04.2010 03:50:00, mrzero.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267691</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267691</guid>
			<pubDate>Sat, 24 Apr 2010 03:50:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267690">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Может быть. Но как насчет синтаксиса? Можешь исправить? Я планировал настроить это примерно на 90%, или что-то около того. 100% не вариант, потому что скрипт не запустится в большинстве случаев. <br />
			<i>01.01.2018 12:34:00, EIKA.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267690</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267690</guid>
			<pubDate>Mon, 01 Jan 2018 12:34:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267689">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я давно бросил попытки использовать скрипт для расчета нагрузки на ЦП, потому что он был точным только при низкой загрузке. При более высокой загрузке результаты были неверными или скрипт вообще не запускался. <br />
			<i>31.12.2017 20:11:00, n21roadie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267689</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267689</guid>
			<pubDate>Sun, 31 Dec 2017 20:11:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Скрипт для расчёта средней загрузки CPU.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267688">Скрипт для расчёта средней загрузки CPU.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Название: Средняя загрузка ЦП<br /><br />Настрой планировщик на выполнение с интервалом в 1 секунду (частота дискретизации).<br />Настрой информационные логи для вывода в терминал в системном логировании:<br /><br />:local cpuload 0<br />:global cpuarray<br />:local arraylen 0<br />:local arraypos 0<br />:local arraytot 0<br />:global avgcpuload 0<br />:global highavgcpuload<br /><br />размер массива – это количество образцов загрузки ЦП, которые нужно сохранить. Экспериментируй с этим значением, чтобы увеличить или уменьшить количество образцов. Чем больше значение, тем дольше рассчитывается средняя загрузка ЦП.<br /><br />:local arraysize 5<br /><br />Получи образцы загрузки ЦП, ограничь cpuarray размером массива:<br /><br />:set cpuload [/system resource get cpu-load]<br />:set cpuarray ([:toarray $cpuload] + $cpuarray)<br />:set cpuarray [:pick $cpuarray 0 $arraysize]<br /><br />Сложи все значения в массиве:<br /><br />:set arraypos 0<br />:set arraylen [:len $cpuarray]<br />:while ($arraypos &lt; $arraylen) do={<br />:set arraytot ($arraytot + [:pick $cpuarray $arraypos]);<br />:set arraypos ($arraypos + 1)}<br /><br />Раздели сумму значений массива на количество значений в cpuarray:<br /><br />:set avgcpuload ($arraytot / [:len $cpuarray])<br /><br />:if ([:len $highavgcpuload] = 0) do={:set highavgcpuload $avgcpuload}<br /><br />:if ([$highavgcpuload] &lt; [$avgcpuload]) do={:set highavgcpuload $avgcpuload}<br /><br />Отобрази результаты в терминальном окне:<br /><br />:log info (“CPU Load Captures:”)<br />:log info $cpuarray<br />:log info (“Array Total: $arraytot”)<br />:log info (“Array size: $arraysize”)<br />:log info (“CPU Load - Avg: $avgcpuload High: $highavgcpuload”) <br />
			<i>18.04.2008 15:16:00, rgraham.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267688</link>
			<guid>http://mikrotik.moscow/forum/forum57/68290-skript-dlya-raschyeta-sredney-zagruzki-cpu./message267688</guid>
			<pubDate>Fri, 18 Apr 2008 15:16:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
