photoshop」タグアーカイブ

Photoshopで「仮想タイルはこれ以上割り当てられません。」の対処法

Windows 7 64bit で Photoshop CS5 を使っているのだけれど、ある日から「仮想タイルはこれ以上割り当てられません。」というエラーを見かけるようになった。少し重たい作業をやるときに出るようで、仮想メモリあたりの問題らしい。

こういった現象が出る前後でPCの環境が変わっており、HDDからSSDへの換装を行い、複数ドライブあったディスクの構成がCドライブだけになった。もとは仮想メモリのディスクをDに割り当てており、これが原因だとは推測できていた。

予想はつくのだけれど、日本語の情報がほとんどなく、「仮想タイルはこれ以上割り当てられません。」の元のエラーメッセージ「No more virtual tiles can be allocated.」で検索をしたら、結構あっさりと見つかった。参考にしたのは以下のURL。

http://forums.adobe.com/thread/375917

仮想メモリがCドライブになったことで、パーミッションが書き込み負荷になって仮想メモリが確保できないのが理由のようだ。 Windows がXPの時は問題にならなかったようなので、Windows Vista あたりから厳しくなったセキュリティの問題と思われる。そもそもCのルートにいきなりファイルを作る Photoshopに問題があり、環境変数でTEMPを指定してるにもかかわらず、それを見ないというなかなか傲慢な作りなのだが、文句言っても始まらない。

上のURLで解決法として3つ示されていて、1つめがPhotoshopをAdministrator権限で動かす。2つめがCドライブのルートにEveryoneの書き込み権限を与える。3つめがドライブに新パーティションを作り仮想メモリの指定を変える。である。WindowsのセキュリティではCドライブ以外のルートの書き込み制限は厳しくないようで、うちでも当初Dドライブのルートに仮想メモリのファイルが存在しても問題は起きていなかった。

1と2はセキュリティを甘くすることなので、3で解決したい。でも本当にパーティションを作るのは得策ではないので、substコマンドによる仮想的なドライブを作成する。

具体的にはコマンドプロンプトで「 subst t: c:¥temp 」といった感じでテンポラリ用のドライブを作って、Photoshop側で仮想メモリのドライブ(この例ではTドライブ)を変更する。

substの結果は再起動によって初期化されるので、スタートアップにバッチファイルを作り毎回指定することで回避。ちなみにWindows 7 の場合のスタートアップの場所は、C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startupです。