フリーズが多いPCの障害切り分けに使用しています。どちらも拡張子【.vbs】で保存してください。
Cpu Busy.vbs
Dim goal
Dim before
Dim x
Dim y
Dim i
goal = 1000000
Do While True
before = Timer
For i = 0 to goal
x = 0.000001
y = sin(x)
y = y + 0.00001
Next
y = y + 0.01
Loop
Memory Stress.vbs
'参照カウンタを使用して循環参照させる
Dim i
'5000:空きメモリが50MB減る
'10000:空きメモリが100MB減る
'20000:空きメモリが200MB減る
For i = 1 To 5000
Call k
Next
MsgBox "終了しました。このメッセージボックスを閉じるとメモリは開放されます。"
Sub k()
Dim x
Set x = CreateObject("Scripting.Dictionary")
Dim y
Set y = CreateObject("Scripting.Dictionary")
Call x.Add("a", y)
Call y.Add("b", x)
' Call x.RemoveAll()
' Call y.RemoveAll()
End Sub
使用例
- デスクトップとかドキュメントやらのフォルダ上に 新しいテキスト ドキュメント.txt を作成し、中身開いて上のコードをコピペします。
- 【ファイル(F)】クリック > 【名前を付けて保存(A)】クリック > ファイル名を【Cpu Busy.vbs】に変更 > 文字コードを【ANSI】に変更 > 【保存(S)】クリック

完成。ダブルクリックして実行します。
【新しいテキスト ドキュメント.txt】 はいらないので削除してください。

ダブルクリックして実行するとCPUリソースの上位に食い込んできます。キーボードで【Ctrl + Alt Esc】を同時に押し、タスクマネージャーを開いてみましょう。

終了する場合はタスクマネージャーで右クリックし、【タスクの終了(E)】をクリックして終了させてください。

概要
- Cpu Busy.vbs
- 目的: CPUに負荷をかけ、CPU関連の不具合を誘発する。
- スクリプトの仕組み: 無意味な計算を繰り返し行うことで、CPUを常に忙しくさせます。
- 注意点
- 実行中はPCが非常に遅くなります。他の作業は行わないようにしてください。
- 長時間実行するとPCが熱を持ち、故障の原因となる可能性があります。
- CPUの温度を監視しながら、適宜実行を中止してください。
- Memory Stress.vbs
- 目的: メモリを消費し、メモリ不足による不具合を誘発する。
- スクリプトの仕組み: 循環参照を作り出すことで、メモリを解放できなくし、徐々にメモリを消費していきます。
- 注意点
- メモリが不足すると、PCがフリーズしたり、動作が不安定になることがあります。
- 実行前に重要なデータは保存しておきましょう。
- メモリの空き容量が少ない状態で実行すると、すぐにメモリ不足になる可能性があります。
- カスタマイズ
- Cpu Busy.vbs: 「goal」の値を変更することで、負荷の強さを調整できます。
- Memory Stress.vbs: 「For i = 1 To 5000」の「5000」の値を変更することで、消費するメモリの量を調整できます。
警告
これらのスクリプトは、PCに負荷をかけるものであり、誤った使用方法により、PCが故障する可能性があります。自己責任の範囲内でご利用ください。
ご指摘点あればコメントまで
コメント