帯域が足りない

新PC Athlon64 X2にLinuxqemuを入れ、仮想マシンを作成して開発中。PCが何台もあるようでとても良い。

メインマシンはWindowsを使っているので、Xmingを入れてXサーバーにし、ここにqemuの画面を転送している。しかし、qemuは画面を少し書き換える度に画像全体を再送しているのか、ネットワーク帯域を使い尽くして、反応が極めて遅い。仮想マシンを2つも起動すると、もう厳しい。


時代は、ギガビットなのかもしれない。(100Mbps使用中)


ということで、Xプロトコルの圧縮転送プロキシdxpcを導入。最初はLBXを導入しようと思ったものの、XmingがLBXをサポートしていなかったので、両端プロキシのdxpcを採用。

Xクライアント(qemu) → Xサーバー(Xming)
が、
Xクライアント(qemu) → dxpcサーバー → 圧縮転送 → dxpcクライアント → Xサーバー(Xming)
となる。(xクライアントとdxpcクライアントがLinuxで動作、その先はWindows側)

まずはさくっとコンパイル。liblzoはスタティックリンクしておくのが良さそう。

Linux側(Xクライアント)で、

dxpc -i 99 -d 8

とやる。次に、Windows側(Xサーバー)で、Xmingを:0で起動した上で、

dxpc.exe vcore.local. -D localhost:0

(vcore.local.はLinuxのホスト名)
とやる。

で、おもむろにLinux側で

rxvt -display localhost:8

とやると、Windows側にrxvtの画面が現れる。
後は、好きにする。


ネットワーク使用率は100%から数%に。

極めて良好。