お使いの PC で「メモ帳(notepad.exe)」が何個起動できるか教えてください。
一番、多く起動できた方に「いるか賞」を差し上げます。
※ 注:以下の作業を行うとシステムが不安定になる可能性があります。実行は自己責任でお願いします。
■ メモ帳の起動方法ならびに個数のカウント方法
1. コマンド プロンプト(cmd.exe)を起動します。
2. 指定回数 notepad.exe を起動します(以下は FOR 文を使用して 100 個連続で起動する例です。限界まで繰り返します。)
FOR /L %i IN (1,1,100) DO ECHO %i 個目 & notepad.exe
3. 起動した notepad.exe の一覧を取得します。
tasklist /FI "IMAGE eq notepad.exe" /NH > tasklist.txt
4. 起動した notepad.exe を終了させます。
taskkill /F /FI "IMAGENAME eq notepad.exe"
5. tasklist.txt 内の notepad.exe 個数をカウントします。
find /C "notepad.exe" tasklist.txt
<実行結果(例)>
TASKLIST.TXT: 933 … notepad.exe の個数
■ 回答例(実行環境, 実行結果を記入してください。)
OS : Windows Vista SP2(32-bit)
CPU : Core2 Quad Q9550 2.83GHz
Memory : 3GB
個数 : 933 個
備考 : 補足事項等(個数を増やすために行ったこと等)あれば記入してください
1174でした
Core i7 920 2.6GHz
MEM 12GB
OS Windows7 RC (64 Bit)
1105で挙動がおかしくなり1130あたりから1個開くのに20秒ほどさらに進んでほぼ無反応になったので強制終了
フリーズはこまるので最後はウンともスンとも言わなくなった時点でとめました。
残りメモリー自体は2846MBあったんですがね。
もっといくかなぁ~っと期待してたんですがねぇ
500から800あたりは全然楽勝だったんですけどねぇ
数秒で立ち上がってタスクバーから一気に全部しめることもできましたから...
113個でした。
それ以上起動しても、タスクバーに個数が変化しなくなりました。
xp sp3
CPU E8400 2.99GHz Core Duo
メモリ 1.99GB
いろんな環境の実行結果が知りたいので、Windows Me も歓迎です。
TASKLIST.TXT: 150でした。
どうしても、プロセス数が200個までしかいかないみたいです。
始めから起動しているプロセス50個と、notepadが150個が最大でした。
私のPCでは、他にプロセスがないとしても、200個が限界のようです。
了解しました。
それから、最後の復帰の時、タスクマネージャを呼び出して、プロセスを見たら、エクスプローラーが50%ぐらい占めていたようでした。(汗;
初めは、面白そうと思って始めましたが、途中で、後悔の念が強くなりましたが、実験のためと言い聞かして、続行しました。(汗;一時は電源を切ってリセットをかけようか悩みましたが、なんとかウィンドウズが自力で回復することを祈りつつ待ちました。(汗;
結局、一時はどうなる事かと思いましたが、なんとか無事に実験終了です。「Windows Aero」にも戻りましたし、タスクバーも固定してもと通りです。
不安な思いをさせてしまったようで、すみません。
何が起こっているのかは、試してみた人でないとイメージ沸かないかもしれないですね・・・(苦笑)
ME のメモリ上限が 1.7 GB というのは、最大でそのサイズのメモリを積んだ PC で動作させる手法があるだけで、
OS のメモリとして用いられる領域は結局の所 512 MB までではありませんか?
(512 MB 以上のメモリを搭載するとそのままでは動作しなくなり、それを回避する方法があるというだけの事では?)
OSのファイルキャッシュとして500MB
RAM-DRIVEとして500MB
残りがアプリケーション用として700MB
合計約1.7GBが認識もされ使われてもいます。
アプリを複数起動しても98系のアプリはXP系よりも格段に軽いため
700MBどころか200MB強しか使われず、それ以上の場合は、先にリソース限界がくるため
もう少しファイルキャッシュかRAM-DRIVEに充てたいところなのですが
それぞれOSの管理限界(ここで512MBという話が出てくるはずだけど文献見当たらず)まで
使っているので、これ以上の割り当ては無理。
これ以上の割り当ては無理ということで
実験機の構成では500+500+250=1.25GBが実用限界かもしれませんが
1GBx2枚搭載してあるので上記のように1.7GBまで使えるようにしてあります。
まだ無駄な部分はありますが、256MB2枚から1GB2枚に変更して
上記のように割り当てを設定してからは、スワップも使われる事はなく
各アプリの作業領域としてRAM-DRIVEを指定してもいますので
全般的にHDDへのアクセスは激減し応答性が格段にアップしてます。
アプリが落ちてOSまで不安定になることもまずなくなってます。
(メモ帳起動実験ではリソースゼロになりましたが何ごともなく
メモ帳を閉じれば何事も無く動き続けました。
Word2000やExcel2000ではリソース不足からエラーを吐きましたが
同じく閉じてしまえば特に問題なく動き続けました。)
難点としては セーフモードで起動できない事ですが
Linux側で起動して直接ファイルをいじればどうにでもなるので
そこはあきらめてます。
98/ME系が動いて2GBも搭載できる環境はそうそうはないと思うし
セキュリティの点からも新しいOSにしておくべきだから
こんな知識や経験をひけらかしても、いまさら何を・・・ってところですけどね(笑)
MSDN の Windows Me メディアが手元にあったので、
試しに Virtual PC にでも入れようと思いましたが、メディアが CD ブートではなく
FD ドライブもなく、いろいろ面倒くさそうだったのでやめました_| ̄|○
プロセス数が200ちょっとを越えたあたりからプロセスの生成が上手くいかない感じ
なんかXPってそんな制限があったっけ?
試してないですが 2000 → XP で「メモ帳」に「ステータスバー」が追加されたのが影響しているかも知れません。
はい。
700個まではスムーズでしたが701~800個までは起動に少し時間かかりました
「デスクトップ ヒープ(正確には Interactive desktop heap)」の制限の調査になります。
メモリを十分に搭載しているのに、アプリケーションや OS の動作が不安定になったりするのは、
この「デスクトップ ヒープ」の限界に達しているのが原因である場合が多いです。
<参考情報>
■ @IT:Windows TIPS -- Caution:原因不明のメモリ不足エラーに対処する方法(デスクトップ・アプリケーション・ヒープ不足エラーに対処する方法)
http://www.atmarkit.co.jp/fwin2k/win2ktips/071desktopheap/desktopheap.html
今回の調査結果より、Windows 2000 や XP より、Windows Vista や Windows 7(特に 64-bit 版)において、
より多くのアプリケーションが起動できるという結果となりました。
実際には「デスクトップ ヒープ」のデフォルト値が Windows 2000/XP → Windows Vista/7 で増やされている為、
ある意味、想定通りの結果でした。
<デスクトップ ヒープのデフォルト値>
■ Ntdebugging Blog : Desktop Heap, part 2
http://blogs.msdn.com/ntdebugging/archive/2007/07/05/desktop-heap-part-2.aspx
ただ、Windows 2000 に比べて Windows XP の起動可能なメモ帳の数が
想定していた以上に少なかったのが気になりました。
少なかった原因は、
Windows 2000 → XP で、
・OS 起動時のデスクトップ ヒープの消費量が増えている
・メモ帳の仕様が変更されている(「ステータス バー」の追加等により User オブジェクト数が増えている)
為と思われますが、手持ちの環境がない為、未確認です。
以下は、想定していたプロセス数の一覧です。
「OS 起動時の消費サイズ(χ KB)」は、Windows 2000 の結果をベースにしていますので、
実際とは異なる可能性があります。
■ 想定される実行可能なプロセス数
WIndows 2000 (32-bit) : (3072 KB - χ KB) / (512 bytes * 26) = 223 個
WIndows XP (32-bit) : (3072 KB - χ KB) / (512 bytes * 32) = 181 個
Windows Vista (32-bit) : (12288 KB - χ KB) / (512 bytes * 32) = 757 個
Windows Vista (64-bit) : (20480 KB - χ KB) / (512 bytes * 32) = 1269 個
Windows 7 (32-bit) : (12288 KB - χ KB) / (512 bytes * 32) = 757 個
Windows 7 (64-bit) : (20480 KB - χ KB) / (512 bytes * 32) = 1269 個
想定される実行可能なプロセス数=(デスクトップ ヒープのサイズ - OS 起動時の消費サイズ) / メモ帳1個の消費サイズ
OS 起動時の消費サイズ=χ:164 として計算
メモ帳1個の消費サイズ=512 bytes × User オブジェクト数
あと、以下は、自分の手持ちの環境での実行結果です。
■ 手持ち環境での実行結果
Windows 2000 SP4 (32-bit) / Memory:512MB … 222 個
Windows Vista SP2(32-bit) / Memory:3GB … 933 個
Windows 7 RC1 (32-bit) / Memory:1GB … 1029 個(仮想 PC 環境)
Windows 7 RC1 (64-bit) / Memory:8GB … 1243 個