Мой VDI-файл продолжает расти, и я не понимаю, почему. Поддержка VirtualBox подтвердила, что это проблема с гостевой ОС Ubuntu, а не с VB-хостом. (BTW, этот вопрос лучше всего ответить здесь, или я должен спрашивать на https://superuser.com?)
Я запускаю последнюю версию VirtualBox (5.1.18) под Windows 7 (Домашняя премия) 64 -бит как хост. Ubuntu 16.04 (последние исправления) 64-бит как Гость. Файл VDI использует динамическое распределение памяти до 100G.
Когда я использовал Ubuntu 14.04, все казалось разумным. Недавно я обнаружил, что изображение VDI продолжает расти. Он вырос с 7G до 14G. (Это может быть не так много для некоторых из вас, но с картой памяти 8G для резервного копирования это проблема для меня!) Я могу загрузить Ubuntu на рабочий стол Unity, а затем сразу же выйти, а изображение может вырасти на 0,5G.
В Ubuntu на выходе из df -h показано:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 97G 7.7G 84G 9% /
Итак, это говорит о том, что есть дополнительный 6G за Используемый, который был «потерян» по сравнению с Avail. du -h -x -s / подтверждает использование 7.6G.
What & amp; где находится дополнительное недостающее хранилище? Известны ли проблемы между VirtualBox и Ubuntu 16.04 (у 14.04, похоже, не было этой проблемы)? Я вижу некоторые сообщения в сети, в которых говорится, что 16.04 использует избыточную память для настольных компьютеров, хотя ничего не составляет 6G ....У той же проблемы Ubuntu 16.04 на Win7 VirtulBox 5.2.0:
Следующие шаги решили (спасибо ответу Равешины выше и этому:
Гость Ubuntu:
sudo dd if=/dev/zero of=/home/zero bs=1M
shutdown
Гость Ubuntu: (изменение dir в местоположении .vdi):
C:/virtualbox/vboxmanage.exe modifymedium --compact MyPathTo/MyVM.vdi
:
sudo rm -rf /home/zero
Насколько мне известно, когда вы или какая-либо программа записываете что-то на диск, после удаления этого файла только соответствующий индексный дескриптор этого файла будет удален, а данные (нуль и единицы) останутся на диске, поэтому пока вы используете динамический выделенное хранилище, VirtualBox не имеет представления о том, какие файлы живут в вашей ОС, это просто известно, например, 10G данных было записано на ваш диск, поэтому он увеличивает размер вашего жесткого диска для управления этими 10G данных.
Что вы можете сделать?
обнулить свободное место на жестком диске в гостевой системе, в дистрибутивах Linux вы можете использовать утилиту dd для этого: sudo dd if=/dev/zero of=/home/zero bs=1M
, затем используйте команду VBoxManage с --compact, чтобы ваши файлы VDI были компактными. VBoxManage modifyhd '/home/ravexina/VirtualBox VMs/Ubuntu/ubuntu.vdi'
Дополнительная информация о прессовании: здесь
Что вы можете сделать?
И о размере, о котором вы упоминали, я предположим, что это зарезервированные блоки для файловой системы ext4. для моего домашнего раздела, который является sda2.
user@machine:~$ sudo tune2fs -l /dev/sda2 | grep -ie 'reserved block count'
Reserved block count: 1408704
И поскольку размер моего блока составляет 4096 байт, поэтому 1408704x4096 составляет 5770051584 бай, что составляет 5,77 ГБ зарезервированного пространства на моем домашнем паттинге.
У той же проблемы Ubuntu 16.04 на Win7 VirtulBox 5.2.0:
Следующие шаги решили (спасибо ответу Равешины выше и этому:
Гость Ubuntu:
sudo dd if=/dev/zero of=/home/zero bs=1M
shutdown
Гость Ubuntu: (изменение dir в местоположении .vdi):
C:/virtualbox/vboxmanage.exe modifymedium --compact MyPathTo/MyVM.vdi
:
sudo rm -rf /home/zero
Насколько мне известно, когда вы или какая-либо программа записываете что-то на диск, после удаления этого файла только соответствующий индексный дескриптор этого файла будет удален, а данные (нуль и единицы) останутся на диске, поэтому пока вы используете динамический выделенное хранилище, VirtualBox не имеет представления о том, какие файлы живут в вашей ОС, это просто известно, например, 10G данных было записано на ваш диск, поэтому он увеличивает размер вашего жесткого диска для управления этими 10G данных.
Что вы можете сделать?
обнулить свободное место на жестком диске в гостевой системе, в дистрибутивах Linux вы можете использовать утилиту dd для этого: sudo dd if=/dev/zero of=/home/zero bs=1M
, затем используйте команду VBoxManage с --compact, чтобы ваши файлы VDI были компактными. VBoxManage modifyhd '/home/ravexina/VirtualBox VMs/Ubuntu/ubuntu.vdi'
Дополнительная информация о прессовании: здесь
Что вы можете сделать?
И о размере, о котором вы упоминали, я предположим, что это зарезервированные блоки для файловой системы ext4. для моего домашнего раздела, который является sda2.
user@machine:~$ sudo tune2fs -l /dev/sda2 | grep -ie 'reserved block count'
Reserved block count: 1408704
И поскольку размер моего блока составляет 4096 байт, поэтому 1408704x4096 составляет 5770051584 бай, что составляет 5,77 ГБ зарезервированного пространства на моем домашнем паттинге.
У той же проблемы Ubuntu 16.04 на Win7 VirtulBox 5.2.0:
Следующие шаги решили (спасибо ответу Равешины выше и этому:
Гость Ubuntu:
sudo dd if=/dev/zero of=/home/zero bs=1M
shutdown
Гость Ubuntu: (изменение dir в местоположении .vdi):
C:/virtualbox/vboxmanage.exe modifymedium --compact MyPathTo/MyVM.vdi
:
sudo rm -rf /home/zero
Насколько мне известно, когда вы или какая-либо программа записываете что-то на диск, после удаления этого файла только соответствующий индексный дескриптор этого файла будет удален, а данные (нуль и единицы) останутся на диске, поэтому пока вы используете динамический выделенное хранилище, VirtualBox не имеет представления о том, какие файлы живут в вашей ОС, это просто известно, например, 10G данных было записано на ваш диск, поэтому он увеличивает размер вашего жесткого диска для управления этими 10G данных.
Что вы можете сделать?
обнулить свободное место на жестком диске в гостевой системе, в дистрибутивах Linux вы можете использовать утилиту dd для этого: sudo dd if=/dev/zero of=/home/zero bs=1M
, затем используйте команду VBoxManage с --compact, чтобы ваши файлы VDI были компактными. VBoxManage modifyhd '/home/ravexina/VirtualBox VMs/Ubuntu/ubuntu.vdi'
Дополнительная информация о прессовании: здесь
Что вы можете сделать?
И о размере, о котором вы упоминали, я предположим, что это зарезервированные блоки для файловой системы ext4. для моего домашнего раздела, который является sda2.
user@machine:~$ sudo tune2fs -l /dev/sda2 | grep -ie 'reserved block count'
Reserved block count: 1408704
И поскольку размер моего блока составляет 4096 байт, поэтому 1408704x4096 составляет 5770051584 бай, что составляет 5,77 ГБ зарезервированного пространства на моем домашнем паттинге.