Samurizeでスタートアップ遅延システムを作る

Samurizeのuptime表示機能と通知機能を使ってスタートアップの遅延システムを作る。

たとえばWindowsのスタートアップフォルダにアプリケーションが5つ登録されていたとして、これが同時に読み込まれるとCPU負荷が高まり起動後にシステムが安定するまでに余計に時間がかかるようになる。
これを避ける為に、CPU負荷が分散されるようにアプリケーションを順番に起動させるシステムを作る。

専用のソフトウェアとしてはstartup delayerなどがあるが、あれはあれでCPUを食う。
どんな順番で、どんなタイミングで起動させていけばいいかがわからない人は専用のソフトウェアを。
ある程度自分で判断してタイミングを試行錯誤できる人はこちらで挙げる方法も参考にしてみるといいだろう。

大まかな内容としては以下の通り。

  1. Windowsのスタートアップフォルダに起動時間を表示するインスタンスを登録
  2. Windows起動直後に起動時間を表示するインスタンスが読み込まれる(以下uptimer)
  3. uptimerの通知機能を使い、起動から指定した時間が経過した時にソフトウェア1~5を順に起動
  4. ソフトウェア1~5の起動が終わったらuptimerを終了させる

1. スタートアップで読み込む起動時間表示計(uptimer)を作る

  1. メーターの追加タブを選択
  2. 起動時間を選択
  3. 情報タブを選択
    • 書式欄を %ph%pm%ps に変更
  4. 表示タブを選択
    • テキスト欄の upteime %v を %v に変更

書式の設定

uptimer_01
pを付けて0を補完する。
たとえば起動から0時間1分23秒が経過した場合は 000123 と表示される。

表示の設定

uptimer_02
uptimeの文字が不要なので削除する。

2. 通知機能を使って起動するソフトウェアを指定する

  1. 一般タブを選択
  2. 通知機能の左のチェックボックスをクリックし、機能を利用可能状態にする
  3. 画面をスクロールさせて設定する

通知機能を利用可能にする

uptimer_03
一般タブのこの位置にある。
チェックを入れないとスクロールできない。

通知項目を追加する

uptimer_04
追加ボタンをクリックすると通知項目が増える。

追加ボタンをクリックし、増えた通知項目を設定する

uptimer_05
Alart 0をクリックして画面を更にスクロールさせる。
通知名の変更が可能なので、わかりやすい名前に変更する。今回はsoftware01とした。
表示色(通知色)はデフォルトの色にあわせるなら黒に変更しておく。

自分の環境ではファイアウォールとアンチウィルスが起動して、CPU負荷が安定するのが起動時間表示でおよそ2分30秒前後なので、10秒様子を見て2分40秒から順にソフトウェアを起動していくことにする。

  • 通知のタイミング: 値になった時
  • 値: 000240
  • コマンドを実行する にチェックを入れる
  • コマンドを実行する の下の入力欄で起動するソフトのパスを指定する
    右の…ボタンをクリックしてダイアログからソフトウェアを直接指定しても良い

通知機能の追加ボタンをクリックし、同様の操作でソフトウェアを5つ登録する。
今回のタイミングは以下の通り。

  1. software01 : 000240
  2. software02 : 000245
  3. software03 : 000255
  4. software04 : 000305
  5. software05 : 000325

uptimerを自動で終了させる

ソフトウェアの起動という役目が終わったら、あとは起動時間を延々と表示し続けるだけになる。
必要であればこのまま残しておいても良いが、今回は必要ないので自動で終了させてしまうことにする。

uptimer_06
通知機能で新たに項目を作る。名称はkillmeとでもしておく。
最後のsoftware05の起動が000325なので、CPUの安定を待つ意味も含めて20秒後の000345に終了させることにする。
ソフトウェアの起動~安定までにCPUに負荷がかかっているとこのタイマー表示が飛んでしまう場合があるので同様の手順で予備機構(5秒後に再度実行など)を作っておくのも良い。
(設定した『値になった時』の数値がラグなどで飛んでしまうと実行されない)

実行では以下のコマンドを設定する。

client.exe i=uptimer close

client.exe : (Samurizeの)client.exe。自身なのでこれだけで良い
i=uptimer : インスタンス名を設定。後述のインスタンス名の設定でこの名前を指定する
close : 終了させますよ。という意味

3. メーターを保存し、インスタンスマネージャで設定する

  1. メーターを保存する。今回は config/uptimer.ini とする。
  2. インスタンスマネージャ(InstanceManager.exe)を起動する。
  3. 右側の上から2番目のボタンをクリックし、インスタンスを新たに登録する
  4. インスタンス名はuptimerで登録
  5. 下に並んでいるアイコンのうち、一番左のボタンをクリック
  6. 構成ファイルのプルダウンメニューからuptimer.iniを選択し、OKをクリックしてウィンドウを閉じる
  7. 下に並んでいるアイコンのうち、右から2番目のボタンをクリック
  8. デスクトップにショートカットアイコンが生成されるので、Windowsのスタートアップフォルダへ移動させる

これで完成です。