Skip to content

Mixtol/ResourceUtilization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🚀 resource_stress.sh (unix утилизация)

Утилизируй CPU & RAM, но, пожалуйста, не спали свой хост


📦 Quick Start

# 1. Скачиваем скрипт
curl -O https://github.com/Mixtol/ResourceUtilization/blob/main/resource_stress.sh \
     && chmod +x resource_stress.sh

# 2. Запускаем (пример: 50 % CPU, 60 % RAM, 5 минут)
sudo ./resource_stress.sh -c 50 -m 60 -t 300

🛠️ Требования

Что Где взять
bash ≥ 4.2 Уже должен быть в любой уважающей себя nix
stress‑ng sudo apt install stress-ng
sudo dnf install stress-ng
sudo yum install epel-release && sudo yum install stress-ng
sudo pacman -S stress-ng
sudo zypper install stress-ng

(Скрипт сам подскажет верную команду, если найдет другой пакетный менеджер)


⚙️ Синтаксис

./resource_stress.sh [-c CPU%] [-m MEM%] [-t SEC]

  -c  целевой агрегированный % загрузки CPU (0–100)
  -m  целевой % использования RAM (0–100)
  -t  время работы в секундах (0 = бесконечно)
  • Пример вечного бесконечного запуска: sudo ./resource_stress.sh -c 25 -m 0 -t 0
  • Утилизируем 90 % RAM без трогания процессора: sudo ./resource_stress.sh -m 90

🧮 Как происходит расчёт (простыми словами)

Шаг Что делаем Чем меряем
1 Снимаем текущую загрузку CPU и RAM /proc/stat, /proc/meminfo
2 Вычисляем, сколько не хватает до желаемого НЕХВАТКА = Цель − Сейчас
3 CPU: nproc даёт число ядер →
--cpu N запускает N стрессоров.
--cpu-load L даёт L % на стрессор.
4 RAM: --vm 1 --vm-bytes Xk --vm-keep резервирует X KB памяти и не отпускает её.
5 Контроль Скрипт следит, чтобы суммарно не перелететь вашу цель 👉 если ядер мало, --cpu-load автоматически уменьшается.

Формула для процессора: cpu_load_per_core = ceil((TargetCPU - NowCPU) / Cores * 100). \

  • Если нужно < 4 МБ доп-памяти -- блок --vm вообще не стартует

Таким образом 70 % цели при 4 ядрах = 70 % на ядро; hyper‑threading и WSL могут показать +- несколько процентов это норм.


🏃‍♂️ Запуск в фоне / автозапуск

1. Лёгкий способ nohup

nohup sudo ./resource_stress.sh -c 60 -m 65 -t 0 >stress.log 2>&1 &
disown -a   # освободите терминал
  • Скрипт живёт в фоне, лог всё пишет в stress.log.

2. Серьёзный способ systemd unit

/etc/systemd/system/resource-stress.service

[Unit]
Description=LoudFans
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/resource_stress.sh -c 50 -m 55 -t 0
User=root

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now resource-stress.service

🧠 ram_load_keeper.ps1 (Windows RAM Utilizer)

Скрипт поднимает и удерживает загрузку оперативной памяти на заданном уровне
(по умолчанию 80 %+), постепенно выделяя блоки памяти в процессе PowerShell.

🚀 Быстрый старт

# 1. Сохранить файл
#    ram_load_keeper.ps1

# 2. Запустить PowerShell и разрешить скрипты в текущей сессии
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

# 3. Запустить
.\ram_load_keeper.ps1

Пример с кастомными параметрами:

.\ram_load_keeper.ps1 -TargetPercent 85 -MinPercent 85 -MaxStepMB 1000 -CheckIntervalSeconds 1

🚑 Предупреждение

⚠️ Нагрузка создаётся настоящая. Убедитесь, что:

  • есть рабочее охлаждение;
  • есть права root (иначе stress-ng может быть ограничен);
  • вы помните, как остановить процесс (Ctrl‑C, kill или systemctl stop).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors