1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Linux 2023でCPU・メモリ使用率を意図的に80%に上げる方法

Last updated at Posted at 2025-11-23

概要

AWS上でサーバ構築後のテストフェーズで
「アラート設定のテストで CPU やメモリの使用率を 80% まで上げたい」
という事が必要になります。

例えばCloudWatch で閾値アラームを作ったものの、
「本当に通知が飛ぶのか?」
とか
「EC2の負荷が高いときグラフがどのように描画されるのか」
という確認が必要になります。

そんな時に使えるのが stress コマンド。
「サーバにストレスを与える」コマンドで
CPU・メモリ・I/O などに自由に負荷を掛けて
負荷試験や監視アラートのテスト、パフォーマンス検証に活用できます。

本記事では、
「CPU とメモリを意図的に 80% まで上げる方法」
を Amazon Linux 2023 の EC2 を例に解説します。

1. stressコマンドのインストール

まずは stress をインストールします。
Amazon Linux 2023 では dnf でサクッと入ります。

sudo dnf install -y stress

これで準備完了。
「stress」は非常にシンプルなツールで、
CPU 回しっぱなし・メモリ確保しっぱなし のような操作を簡単に実行できます。

📝 豆知識

Amazon Linux 2023 は RHEL 系の “Fedora 由来” なので、
dnf や systemd を使った操作がしやすく、負荷試験系ツールとの相性も良好です。

2. CPUに負荷を与える(80%付近まで上昇)

EC2のvCPU数に応じて指定します(例:t3.medium = vCPU 2)
stress の CPU 負荷はとてもシンプルで、
ワーカー数 = CPU を使用するプロセス数 で調整します。

例として t3.medium(2 vCPU)の場合:

※2コアを5分間(300秒)フル稼働
stress --cpu 2 --timeout 300

・ --cpu 2 → 2個のワーカーが CPU をフルで回す
・ --timeout 300 → 5分間(300秒)継続

実際には CPU 使用率は 100% に張り付きますが、
CloudWatch の「平均 CPU 使用率」では 70%~90% の間で揺れることが多いです。
AWS 側での集計間隔や、OS のスケジューリングにもよるためのようです。

💡 CPU100%を避けたい場合は?
あえてワーカ数を vCPU より少なくすると、80% 前後に落ち着きます。
例:t3.medium(2 vCPU)で

stress --cpu 1 --timeout 300

するとだいたい「50%〜70%」程度に収まります。

CPU の負荷はとにかく分かりやすく、
CloudWatch のグラフに反映されるのも速いので、
監視テストに最適です。

3. メモリ負荷を与える

続いてメモリです。
stress のメモリ負荷は「どれだけメモリを確保して維持するか」で調整します。

基本形:

※メモリを 400MB 分確保して 60秒間維持
stress --vm 1 --vm-bytes 400M --timeout 60s

【パラメータ解説】
・ --vm 1:1つのワーカープロセスを使用
・ --vm-bytes 400M:400MBのメモリを確保
・ --timeout 60s:60秒後に自動終了(Ctrl+Cで途中停止も可)

例えば t2.nano(メモリ約 512MB)に 400MB を確保すると、
メモリ使用率は 70〜85% あたりまで上昇します。

メモリは CPU と違い、バックグラウンドで OS がキャッシュを持っていたり、
CloudWatch エージェント側の集計にもタイムラグがあるため、
「ピタッと80%」とはいきませんが、だいたい目的は達成できます。


【インスタンスサイズ別の目安値】

インスタンス 総メモリ 試す値の目安 (--vm-bytes)
t2.nano 約 512MB 400M
t2.micro 約 1GB 800M
t3.small 約 2GB 1600M
t3.medium 約 4GB 3200M

これらはあくまで目安で、
アプリが常駐している環境や、背景でキャッシュを持っている場合は変動します。

■ポイント
CloudWatch エージェントで mem_used_percent を取得している場合、
少し遅れて 5〜10 秒後に反映されることもあるようです。
すぐにグラフが動かないからといって、設定ミスしたという事でもないようです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?