長い情報:USB3.0外部SSDからWindowsvirtualboxvmdkを実行しようとしています。私が使用しているシステムは、この外部SSDにもインストールされているArchLinuxです。 VMは、(外部SSDでシステムを使用しているときに)内部SSDからロードすると正常に動作します。LinuxVMロードされた場合も同様です。外部SSDから(外部SSDでシステムを使用している間も)。
簡単な情報:外部SSDは、M2からUSB3.0へのアダプターを備えたsamsung 850 evo 512GB(M2 Verison)です。上記のように、他のVmsで、Windowsを実行している場合VM内部SSDから、または外部USB3.0 HDDからでも(これは遅いですが、この場合は外部SSDよりもはるかに高速です) ) 正常に動作します。
VM設定:
16GB ram
chipset PIIX3
I/O APIC enabled
Hardware Clock UTC Time enabled
4 Cores 100% (4.5Ghz)
VT-x enabled
問題:VMは正しく起動しますが、ホストシステムが時々フリーズし、ログインに到達します約20分後に画面が表示されます。ディスクの問題のようでした。内部SSDからvmをロードし、ディスク書き込みを減らすためにWindowsディスクページング機能を無効にしました。次に、変更したvmdkを外部SSDにコピーし、外部のVirtualboxを変更しました。それに応じてシステム。ただし、これは何も変更しませんでした(RAMを16GBに増やしました)。
仮定何らかの理由で、Windows VMはLinuxVMと比較して非常に多くのディスク書き込みを行います。面白いことです。少し前に、SSDよりも実際にははるかに遅い外付けUSB 3.0ハードドライブで同じことをしたということです(ただし、同じドライブでホストシステムを実行していません)
私は内部SSDと同じSSDを使用しているので、問題は確かにSSDではありません。アダプターは、Linuxシステム、Linux VM、およびその他のプログラムで問題なく動作しているので、それもそうではないと思います。
私はいくつかの情報をログで検索しようとしますが、誰かが別のアイデアを持っているなら、それは大いにありがたいです。
質問:外部SSDのWindows VM)のパフォーマンスを向上させるにはどうすればよいですか? IOトラフィック?
ソリューションコメント:
@Eugen Rieckによって提案されたライトバックキャッシングを使用すると、実際にVMが使用可能になりました。同じ外部SSD上のホストシステムから、余分な量のIOが形成されると思います。 USB3.0コントローラー(キャッシュなし)には多すぎました。Virtualboxでは、次の場所にこのオプションがあります。
Your_VM_Settings->Storage->select_your_Controller->Attributes->Use Host I/O Cache
@Eugen Rieckが言及した欠点に加えて、virtualboxフォーラムの@aeichnerによるともう1つあるようです。
ホストのI/O負荷が高く、ホストキャッシュがそれに対処できない場合、ゲストでI/Oタイムアウトが発生する可能性があるため、ホストI/Oキャッシュはデフォルトでは使用されません。 aeichner、2011
悪いニュース:Windows(OSのみ、アプリケーションではない)は、Linuxよりもディスク書き込みが多くなります。 2桁ですが、それについてできることは何もありません。それに加えて、それは1桁多くのディスク読み取りを行います。
良いニュース:ハイパーバイザーレベル(つまりVirtualBox)でライトバックキャッシングを使用すると、状況を大幅に改善できます。これには、ホストがハードダウンした場合にデータが破損するリスクが伴いますが、優れたUPSを使用すれば、これは管理可能であるはずです。
もう1つ:スナップショットを使用する場合は再考してください-スナップショットにはかなりの書き込み増幅率があり、そのようなシナリオでは問題になります。