Поскольку по сей день обходиться одними Linux-совместимыми программами не реально, нужны виртуальные машины с Windows. И с VirtualBox вроде всё хорошо, там и inet доступен на виртуальных машинах, и ещё много чего хорошего, да вот одна небольшая проблема. VirtualBox не хочет использовать swap, а 1 Гб физической памяти - не так уж и много, быстро забивается (swap'а 3 Гб). И хуже всего то, что VirtualBox при недостатке физической памяти просто останавливает виртуальную машину, что очень неудобно, когда такое происходит часто. И вот тут я не знаю, что делать. Установка swappiness в 100 не сильно помогает. Как тот параметр, что ограничивает cache'ирование дисков, зовётся, сейчас не помню, но не думаю, что его изменение поможет, всё ж я имею обыкновение запускать кучу других программ и на них тоже уходит память. Мне так и не удалось нигде найти, какой всё-таки командой можно хотя б почистить физическую память, вроде как free, top и иже с ними только выводят информацию. Да и такое решение было б не очень, как-то тоже не очень удобно было б периодически чистить физическую память. В настройках VirtualBox я не знаю, где искать возможность использования swap'а. Что ещё можно сделать, тоже не знаю.
Как заставить VirtualBox пользоваться swap'ом
Что показывает mount? Вообще, при авто установке /dev/sda1 используется под swap.
Показывает следующее
/dev/sda4 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
devtmpfs on /dev type devtmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,mode=1777)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda5 on /media/data type vfat (rw,iocharset=utf8,codepage=866)
/dev/sda7 on /media/data2 type vfat (rw,iocharset=utf8,codepage=866)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/dev/sda1 on /media/windows type fuseblk (rw,allow_other,blksize=4096)
/dev/sdb11 on /media/ubuntu type ext3 (rw,acl,user_xattr)
/dev/sdb12 on /media/linux4 type reiserfs (rw,acl,user_xattr)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/proc on /var/lib/named/proc type none (ro,nosuid,nodev,bind)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/sdb9 on /media/TEMP type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb8 on /media/DATA3 type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb7 on /media/SOFT type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb6 on /media/MOVIES type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb5 on /media/MUSIC type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb14 on /media/MUSIC3 type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb13 on /media/MUSIC2 type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
/dev/sdb10 on /media/MOVIES2 type vfat (rw,nosuid,nodev,uid=0,utf8,shortname=mixed,flush)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
Но вообще в принципе swap-раздел настроен, это проверено, но вот VirtualBox им не пользуется. Более того, если физическая память не успевает освободиться, он останавливает виртуальную машинку. Минимальной свободной памяти я поставил 50 Мб из 1 Гб всего, больше ставить мне кажется как-то не очень.
Мне так и не удалось нигде найти, какой всё-таки командой можно хотя б почистить физическую память, вроде как free, top и иже с ними только выводят информацию.
можно запустить xz на большом файле, и указать размер требуемой для очистки памяти. Как он её пожрёт, его можно вырубить. Да, не бейте, я знаю, что костыль :(
В настройках VirtualBox я не знаю, где искать возможность использования swap'а. Что ещё можно сделать, тоже не знаю.
ИМХО практически невозможно определить какая память нужна, а какая - нет. Если брать память непосредственно у ядра (линух-приложением), то всё в порядке, ядро это отслеживает. Но у вас память берётся маздайными приложениями у маздая, а этот маздай естественно не поймёт, что у него память рваная. Потому VB приходится брать просто большой кусок (как xz), Лично я даже теоретического выхода не вижу :( Видимо кодеры из Sun тоже. Вероятно, это невозможно в принципе.
Может быть. Тогда, видать, остаётся ждать, что, может, в новых версиях эту проблему решат. По крайней мере, VMWare до того, как я обновил Linux на 11.3 x86_64 (ибо под эту версию его нынешние .bundle-файлы вообще не ставятся), тянул и 7-й Windows на виртуальной машине. Авось и в VirtualBox сумеют этого достичь (или я всё ж соберусь обновить комп).
По крайней мере, VMWare до того, как я обновил Linux на 11.3 x86_64 (ибо под эту версию его нынешние .bundle-файлы вообще не ставятся), тянул и 7-й Windows на виртуальной машине.
ну возможно. лично я считаю, что компьютеров должно быть не менее двух.