Дисковое пространство
Наша новая статья посвящена дисковому пространству и в частности пространству, занимаемомуWindows 7. Занимаемое дисковое пространство принадлежит к числу таких характеристик, величина которых, по мнению пользователей, должна стремится к нулю. Однако, часто бывает так, что некоторое увеличение занимаемого на диске пространства (конечно же, относительно количества появившихся нововведений) может идти на пользу программному обеспечению . Времена меняются: все более и более широко используются твердотельные диски ( SSD -диски), которые по своим объемам значительно уступают традиционным HDD . Так уж сложилось, что в эру терабайтных жестких дисков разработчики программного обеспечения, включая нас , не ставили своей целью ограничить потребляемое приложением дисковое пространство до 100 Мб. Сегодня многие ноутбуки поставляются с 16Гб SSD -дисками, поэтому к вопросам расходованияWindows дискового пространства мы относимся очень внимательно . Кстати говоря, вопросу использования SSD -дисков в Windows 7 посвящена отдельная сессия WinHEC . Передаю слово Майклу Беку ( MichaelBeck ) , программному менеджеру команды CoreOSDeployment . -- Стивен
Давайте поговорим о занимаемом дисковом пространстве. Здесь и далее под занимаемым пространством следует понимать общее количество дискового пространства, используемого Windows. Сюда входят не только исполняемые файлы Windows, но и все пространство, потребляемое или отведенное под системные операции. Чуть позже мы поговорим о том, сколько конкретно потребляют различные компоненты Windows.
Некоторые из наших читателей в комментариях к другим статьям подняли вопрос об аппетитах Windows 7 в отношении занимаемого дискового пространства. Как и в любом другом случае, вопрос занимаемого места подразумевает наличие массы уступок, на которые приходится идти. Следует отметить, что пока мы говорим не о системных требованиях Windows 7, а об инженерной стороне вопроса.
Для начала попытаемся ответить на два распространенных вопроса:
- Что находится в папке WinSxS, почему она такая большая и можно ли ее удалить?
- Сколько дискового пространства отводится под различные компоненты Windows?
В конце статьи мы поговорим о наших целях при разработке Windows 7.
Папка WinSxS
Львиная часть поступающих к нам вопросов касается новой (для Vista) папки Windows SxS (%System Root%\winsxs), при этом многие из пользователей искренне верят, что это чуть ли не основной потребитель дискового пространства, поскольку в папке объемом 3,5Гб находится более 3000 файлов. С течением времени размер папки растет. Ниже привожу скриншот с домашнего компьютера Стивена.
«Модуляризация» операционной системы была одной из важнейших инженерных задач при разработке Windows Vista. Это должно было решить некоторые из проблем системы, связанных с установкой, обслуживанием и надежностью. Папка Windows SxS представляет собой «установочное и обслуживаемое состояние» всех системных компонентов. Но, на самом-то деле, папкане потребляетстолько дискового пространства, как об этом сообщают встроенные инструменты (DIR и Explorer).
На практике практически каждый файл в папке WinSxS является «жесткой ссылкой» (hard link) на физически существующий файл, то есть все файлы находятся вне этой папки. Так, к примеру, в папке WinSxS находится файл advapi32.dll, размер которого составляет более 700Кб, но, на самом деле, это жесткая ссылка на одноименный файл из папки Windows\System32. При подсчете объема Windows Explorer учитывает этот файл дважды.
В результате сервисная платформа, благодаря которой устанавливаются все обновления и пакеты обновлений, в Windows может обращаться к папке WinSxS и выявлять ключевые параметры, характеризующие состояние системы: что установлено, доступно к установке (опциональные компоненты, но об этом чуть позже), какие версии – все это позволяет точно определить, применимо ли конкретное обновление/патч к конкретной системе. Это обеспечило высочайшую надежность и производительность обслуживания, а также заложило фундамент для дальнейшего усовершенствования.
Папка WinSxS также обеспечивает возможность оффлайн-обслуживания. До Windows Vista поддержка развертывания осуществлялась лишь через процедуру инсталляции. ИТ-специалисты должны были установить ОС и затем с помощью инструментов для снятия образа скопировать его, чтобы впоследствии развернуть на другие компьютеры. На тот момент Windows создавалась без каких-либо предположений об образах. Около 80% систем разворачивались и обслуживались с помощью технологий, которые не поддерживались самой Windows, поэтому требовали от ИТ-отделов использования сторонних решений для эффективного развертывания и управления Windows. Состояние, хранимое в папке WinSxS, доступно и в оффлайн-режиме, то есть для установки обновлений не требуется загрузки или запуска образа. Эти функции папки WinSxS обеспечивают непревзойденную гибкость и значительную экономию, упрощая процедуру создания и обслуживания стандартных корпоративных образов в режиме оффлайн.
Это правда, что папка WinSxS занимает определенное пространство на диске, поскольку она все же существует и хранит огромное количество мета-данных, папок, манифестов, но она занимает гораздо меньше места, чем об этом сообщает Windows Explorer. Реальный объем этой папки зависит от конкретного компьютера, но в среднем – около 400Мб. Немало, но принимая во внимание те преимущества, которые дает наличие этой папки, то это вполне разумное значение.
Так почему Windows Explorer некорректно отображает размер папки? Жесткие ссылки призваны оптимизировать размер, занимаемый ОС, за счет дублирования файлов по всей системе. Разработчики приложений тоже могут пользоваться этой возможностью, чтобы оптимизировать дисковое пространство, занимаемое их приложениями. Поэтому критично, чтобы любой путь, который теоретически может быть использован приложением, появлялся в виде физического файла в файловой системе, который поможет загрузить реально существующий файл. В этом случае оболочка является обычным приложением, которая сообщает размер реального файла, а не жесткой ссылки на него. Поэтому пользователи в целях экономии места осуществляют попытки удалить эту папку с диска.
Некоторые блоги и ряд утилит для тонкой настройки говорят вам о том, что ничего страшного в том, чтобы удалить папку WinSxS, нет. И это правда, что сразу после установки вы можете удалить ее, но после загрузки она появится вновь. Но как вы понимаете, ничего, кроме лишней головной боли, это не принесет, поскольку удалив эту папку, вы лишите систему возможности обслуживания, обновления и настройки опциональных компонентов системы. Высвобождаемое при удалении или перемещении папки пространство не стоит этого риска.
Куда девается дисковое пространство ?
Как все вы прекрасно понимаете, добавление новых возможностей является одной из основных причин роста потребления дискового пространства, причем это касается как Windows, так и любого иного приложения. В действительности добавление нового кода незначительно увеличивает размер пространства, занимаемого Windows. Так, например, для установки Windows Vista Ultimate достаточно чуть больше 2Гб дискового пространства, остальное место отводится под различные данные. Давайте более подробно поговорим об использовании дискового пространства в Windows Vista и о том, что мы подразумеваем под «данными».
В ходе разработки Windows Vista основными инженерными задачами были обеспечение надежности и безопасности. Основная доля роста занимаемого пространства приходится на долю функций, обеспечивающих надежность системы, в частности речь идет о функции восстановления системы, защите данных и функциях диагностики и устранения проблем, резервном копировании реестра и регистрации событий. Каждая из них хранила определенное состояние системы, к которому можно было вернуться при возникновении проблем. Поскольку мы знаем, что определенные группы пользователей предпочитают идти на всякие ухищрения, чтобы сэкономить лишнюю сотню мегабайт места (особенно на тех устройствах, в которых используются накопители с малыми объемами), в Windows 7 мы намерены обеспечить более полный контроль над дисковым пространством, отводимым под работу этих механизмов. Кроме того, они будут более чувствительны к уровню общего потребления ввиду непрерывно меняющейся природы накопителей информации.
Восстановление системы и гибернация принадлежат к числу функций, призванных предотвратить потерю важной информации и восстановить рабочее состояние системы в таких случаях, как разрядка аккумуляторов, неудачная установка приложения или повреждение системных файлов. Вместе эти функции потребляют приличное количество места на диске.
Функция восстановления обеспечивает защиту системы путем снятия с определенным интервалом «снимков» системы до внесения в нее каких-либо изменений. В Windows Vista функция настроена так, что под ее нужды отводится от 300МБ до 15% размера логического диска. По мере создания новых точек восстановления старые удаляются, высвобождая место под новые. Чем больше объем диска, тем больше хранится точек восстановления, до которых можно откатить систему. Пользователи Windows Vista полагают, что, по их мнению, под восстановление системы отводится слишком много места да и настроить эту функцию бывает непросто. Некоторые, наверняка, уже познакомились с PDC-сборкой Windows 7, в которой изменен интерфейс для управления отводимым под нужды восстановления пространством.
Гибернация используется, как правило, на мобильных компьютерах для сохранения результатов работы с переводом компьютера в режим экстремально низкого потребления электроэнергии. Переход в такой режим происходит при разрядке аккумулятора до определенного уровня или выключении компьютера без завершения работы, чтобы максимально увеличить время работы от батарей. В настольных компьютерах режим гибернации вместе с режимом сна используются для сохранения работы. Эта функция зовется гибридный сон (в английской версии Hybrid Sleep) и используется для сохранения состояния на жестком диске в случаях с перебоями питания в момент, когда компьютер находится в режиме сна. При гибернации все содержимое оперативной памяти сохраняется в файл под названием Hiberfil.sys. Поэтому размер файла Hiberfil.sys эквивалентен размеру установленной оперативной памяти. На момент появления Windows Vista количество оперативной памяти, устанавливаемой в компьютере, значительно увеличилось, поэтому и пространство, занимаемое Windows, стало значительно больше. Это пространство резервируется на случай перебоев с питанием, чтобы система могла с легкостью записать содержимое системной памяти на жесткий диск. Думаю, что практически каждый владелец ноутбука не раз сталкивался в своей жизни с режимом гибернации, и практически каждый такой пользователь готов мириться с увеличением размера занимаемого пространства в обмен на возможность сохранить свою работу. И несмотря на то, что мы говорим об оперативной памяти и занимаемом дисковом пространстве в одном абзаце, на этой неделе Марк Руссинович (Mark Russinovich) опубликовал статью о виртуальной памяти, в которой говорится о том, насколько большим может и должен быть файл подкачки. Думаю, что многим из наших читателей будет интересно почитать эту статью.
Очевидно, что вклад в общий размер занимаемого пространства вносят не только эти механизмы. Так, к примеру, мы всегда добавляем различные видео, изображения с высоким разрешением, которые позволяют персонализировать свою ОС, или какие-то файлы, позволяющие оценить новые функции. Но и это не самое важное.
Кроме того, следует оценивать не только пространство, занимаемое непосредственно после установки, но и насколько оно увеличивается по прошествии времени – по мере установки обновлений, пакетов обновлений, создания точек восстановления и т.д. Для большинства пользователей сложней всего понять увеличение занимаемого пространства по прошествии времени, поэтому а) мы должны дать пользователю более разумный выбор, б) объяснить, сколько места используется тем или иным компонентом.
В нижеприведенной таблице указано потребление места на жестком диске различными компонентами Windows Vista Premium/Ultimate. Речь идет о чистой установке. Для удобства все компоненты разбиты на несколько категорий. Этой таблицей нам хотелось проиллюстрировать вклад каждой отдельно взятой функции в общее потребление пространства на жестком диске.
Вот несколько компонентов, на которых следует остановиться:
- ~1 Гб драйверов. Windows Vista поддерживает десятки тысяч различных устройств. Многие пользователи вполне правомерно полагают, что практически любое подключаемое к компьютеру устройство будет опознано Windows. Мы регулярно слышим от пользователей просьбы удалить часть драйверов или полностью исключить их из дистрибутива. Возможность использования принтера или USB-устройства без необходимости подключения ко всемирной сети – вот одно из преимуществ, за которые ценят Windows. В будущем мы, возможно, и рассмотрим возможность загрузки драйверов для всех устройств через Windows Update, но пока мы не готовы сделать такой шаг, поскольку львиная часть наших пользователей не готова к этому.
- ~1 Гб компонентов, необходимых для реализации возможности отката и восстановления после установки обновлений безопасности и функциональных обновлений. По этому поводу мы получаем огромное количество положительных отзывов, поскольку эта возможность является необходимой мерой для обеспечения надежности системы. Мы также понимаем и принимаем отзывы, касающиеся требований к минимальному количеству места, необходимого для установки SP1 поверх RTM. Надеюсь, что вы слышали о утилите vsp1cln.exe в папке system32, которая позволит сэкономить вам кое-какое место.
- ~1 Гб на поддержку гибернации для предотвращения потери данных в случае нарушения подачи электропитания. От данной возможности можно отказаться, удалив через мастер «Очистка диска» (в англ. версии Disk Cleanup) файл гибернации или через ввод команды powercfg /h off в консоли, запущенной от имени администратора.
- ~315 Мб шрифтов. Пользователи Windows говорят на различных языках, порой даже используют различные языки в рамках одного компьютера, и хотят, чтобы Windows говорила с ними на их же языке. Windows Vista обладает встроенной поддержкой интернациональных шрифтов, поэтому в системе с любым установленным языком можно открывать документы и веб-сайты на любом другом языке. Но, как мы знаем, шрифты относятся к тому классу ресурсов, от которых пользователи избавляются в первую очередь.
- ~52 Мб файлов протоколов. Неважно, что это – файлы для регистрации событий или иные служебные файлы, – все они критичны при возникновении проблем. Подобного рода информация используется службами поддержки для диагностики и устранения проблем.
РазрабатываяWindows 7
Дисковое пространство, занимаемое Windows, с течением времени обретает тенденцию к росту. Степень увеличения потребляемого пространства обусловлена в большей степени темпами увеличения объемов современных накопителей информации, нуждами пользователей и функциями резервного копирования, защиты данных, поддержке огромного количества устройств и потребности в инновационных функциях. Однако, рост популярности SSD-дисков идет вразрез с наметившейся тенденцией, поэтому при разработке Windows 7 мы уделяем большое внимание вопросам занимаемого пространства на диске.
Это вовсе не означает, что мы не будем добавлять новые функции или сделаем систему менее надежной. Просто мы считаем, что потребление ресурсов должно оставаться на приемлемом уровне, независимо от количества инноваций. Мы хотим быть уверены в том, что наши решения являются разумным выбором для как для основной массы пользователей, так и для тех, кто желает обладать большим контролем над системой.
К примеру, Windows Vista SP1 содержит почти 1 Гб драйверов, обеспечивающих поддержку широчайшего диапазона устройств. Локальный кэш может терять свою актуальность с выходом новых версий драйверов и в результате пользователям предлагается посетить Windows Update, чтобы загрузить новейшую версию драйверов.
Почему же для поддержки PnP-устройств не использовать лишь кэш драйверов с Windows Update и не сэкономить этим некоторое пространство на диске? В таком подходе есть несколько преимуществ:
- Крайне редко мобильные компьютеры не имеют выхода в Интернет, поэтому их пользователи всегда могут загрузить новую версию драйвера.
- Пользователям не придется делать двойную работу, устанавливая обновленную версию драйвера поверх установленной, поскольку они в любом случае выходят в Интернет.
Этот пример наглядно показывает, как от попыток уменьшить занимаемое пространство на диске могут выиграть пользователи, подключающие новые устройства к своим компьютерам. В то же самое время нам не хочется заходить так далеко, по крайней мере, не в Windows 7. В Windows 7, основываясь на данных, полученных с помощью телеметрии, мы намерены сократить список поддерживаемых устройств до наиболее популярных, при этом мы планируем продолжить начатую работу по переносу драйверов для устройств на сервера Windows Update.
Компоненты Windows, устанавливаемые по умолчанию, имеют значение для поддержки различных сценариев. Мы должны внимательно изучить, следует ли делать некоторые функции/компоненты (такие, как Media Center) опциональным вместо того, чтобы по умолчанию устанавливать их в каждой системе. Поэтому мы придерживаемся мнения, что многие из функций Windows следует сделать опциональными. В Windows Vista, как вы заметили, при выборе установки какого-либо опционального компонента Windows не требует наличия диска (или доступности сетевого источника). Это потому, что все функции без исключения входят в состав полной установки Windows. Компоненты доступны к установки в любой момент времени и, даже если они не установлены, мы все равно при необходимости их обновляем – в будущем, если вы решите задействовать компонент, вы можете быть уверены, что таким шагом не добавите в систему код, ранее подверженный уязвимости. Это еще один из способов обеспечения актуальности и безопасности Windows.
Увеличение занимаемого пространства на диске с течением времени требует от нас более серьезного подхода к объяснению причин этого пользователям. Например, нужно объяснить, что Windows архивирует все ранние версии обновленных системных компонентов, чтобы в любой момент позволить откат до более раннего состояния. Что в новой системе будет установлена масса обновлений с Windows Update. Что по мере появления пакетов сервисных обновлений, включающих ранее выпущенные обновления, можно высвободить некоторое место, отводимое под откат ранее выпущенных обновлений.
Windows сохраняет записи о различных системных событиях в различных местах, при этом размер файлов протоколов может со временем значительно увеличиваться. Например, при сбое приложения Windows выполняет дамп памяти, необходимый для анализа сбоя. Этому есть масса весомых причин, но отвечая общей тенденции по сокращению занимаемого пространства на диске, мы должны научиться управлять этим ростом и по возможности снизить его темпы. Как мы говорили выше, существенный вклад в занимаемое пространство вносят процедуры восстановления системы и гибернация. В системах, где существуют ограничения по размеру используемых дисков, 1 Гб памяти, отводимой под файл гибернации, может оказаться слишком дорогим удовольствием. Функция восстановления системы должна стать более настраиваемой и по умолчанию система должна выполнять как можно меньше снимков системы.
На конференции WinHEC для демонстрации Windows 7 мы использовали несколько компьютеров с разделом в 16 Гб и, если вам посчастливилось побывать на ней, то могли воочию увидеть, что даже на таких дисках после установки Windows 7 было достаточно свободного места. Но имейте ввиду, что делать окончательные выводы по поводу занимаемого пространства и производительности на базе предварительных версий ОС весьма недальновидно.
Подводя итог вышесказанному, в Windows 7 мы стремимся уменьшить пространство, занимаемое ОС на диске, стремимся сделать его меньше, чем в Windows Vista. Мы намерены уделить особое внимание настройкам по умолчанию, обеспечить всеобъемлющий контроль OEM-партнерам, пользователям и ИТ-специалистам без ущерба надежности Windows.
Майкл Бек (Michael Beck),
программный менеджер Core OS Deployment
Comments
Anonymous
March 03, 2009
мне места не жалко, даже если система будет занимать 150 гиг что такое 150 гиг, при цене 120 за винт на полтора терабайта. но не моглибы вы сделать разделение на два диска, первый SSD и на него сохраняются основные компоненты. а на второй диск сохраняется весь мусор. теже рекомендации желательны для остальных программ. без рекомендаций ОС они будет всё сохранять в одном месте. плюс третье хранилище - сетевое, куда программы будут устанавливать наименее исспользуемые(можно даже сказать никогда не исспользуемые) компоненты, а при отсувствии прав на запись в это хранилище - устанавливать на винт.Anonymous
July 04, 2009
"Реальный объем этой папки зависит от конкретного компьютера, но в среднем – около 400Мб". Ребята, да вы сказочники. И у Стивена Windows вчера установлена. Сейчас у меня установлена Windows Vista Ultimate x64 SP2 Russian. Дата создания папки Windows на системном разделе - 2 ноября 2006 г., т. е. Windows установлена давно. Раз "инструмент Windows Explorer" не в состоянии отображать реальное положение дел, что в общем то "заслуга" программистов этого "инструмента", то открываем оснастку "Управление дисками" и смотрим сколько занято на системном разделе - 61,2 ГБ. Далее измеряем (Explorer'ом) размер всех папок на системном разделе (в том числе скрытых и системных), кроме папки Windows, получаем 19,2 ГБ. Делаем вывод, что папка Windows реально занимает 42,0 ГБ, хотя при её прямом измерении с помощью Explorer'а отображается цифра 55,4 ГБ. Теперь заходим в папку Windows и суммируем объём всех папок, кроме WinSxS, получаем 21,1 ГБ. Вычитаем из 42,0 цифру 21,1, получаем реальный размер WinSxS - 20,9 ГБ. Размер папки Windows при прямом измерении и разностном, соответственно: 55,4 ГБ/42,0 ГБ Размер папки WinSxS при прямом измерении и разностном, соответственно: 34,3 ГБ/20,9 ГБ А вы тут про какие то 400 МБ. Примерно 50% папки Windows Vista занимает папка WinSxS. Поэтому для разработчиков Windows 7 один ОЧЕНЬ ВАЖНЫЙ СОВЕТ: в системных требованиях к новой ОС указывайте, что системный раздел должен быть не менее 100 ГБ. Раз не научились программировать, то сообщайте правду, хотя бы.Anonymous
July 25, 2009
Роман, не позорься. Прежде чем писать о том, в чем не разобрался - почитай что такое жесткая ссылка. Вот тебе прямая ссылка для изучения: http://en.wikipedia.org/wiki/Hard_linkAnonymous
August 22, 2010
Уважаемый, нахрен мне такая ссылка, которая занимает столько же, сколько и физический файл? Ладно там, была бы ссылка и занимала как ссылка, а так нет же, тупое дублирование файла... После установки семёрки на диске было занято всего 4 гига из 32, через 5 минут активного шуршания винта осталось всего 4 гига. Спрашивается, какого бена за 5 минут винт засыпали гавном?Anonymous
October 04, 2010
ну я в принципе не жалуюсь но у меня диск где установлена семерка 37 ГБ и свободно еще 19-20 ГБ это + что у меня там проги а их не мало))Anonymous
October 12, 2010
чет как-то с трудом верится в 400 мб, ибо файл виртуальной машины, на которую установлена 7-ка занимает как раз столько же, как и 7-ка показывает про свой системный раздел...Anonymous
February 17, 2011
Вода, вода, вода, ничего путного в статье не написано. Моя система Vista sp2 установлена с 2008 года, под систему выделено 32 гигов, и они заполнились под завязку, все папки кроме windows занимают 9 гигов, все остальное занимает WinSxS, на кой черт мне сдались эти хардлинки, которые несут добро в системе, когда я каждый раз вижу злые предупреждения о том, что на системном винте осталось мало места для комфортной работы системы. Изначально делил винт под систему оставлял 25 гигов, месяц от месяца при нехватках выделял по 1 гигабайту дополнительно, а системе все мало и мало, и концов этой прожорливости нет.Anonymous
March 23, 2011
The comment has been removedAnonymous
April 13, 2011
The comment has been removedAnonymous
May 27, 2011
все мы скоро сдохнем. молитесь. 2012 не за горами.Anonymous
August 22, 2011
The comment has been removedAnonymous
October 20, 2011
НУ вот блин, писал вам свое недовольство, а ваш сайт плохие комменты даже не загружает! ФУ-УУ!Anonymous
October 13, 2012
Есть простой способ и за 5 мин я сделал все сам.. даже интернет не пригодился.. поменял првава на "себя" и потом установил полный доступ для "себя" зашел в папку и сократил ее вес до 4.18 гб... было около 14000 файлов осталось 4500.. все просто, ни какие программы не нужны.. есвли нужна более подробная инфа пишите в аську 437060906... Саня...Anonymous
October 24, 2012
я хотелбы вас поблагодорить за работу! меня интересует вопрос о том как windows как можно больше урезать,хочу диск с зазеркальть в оперативке,вместо покупки ссд,а на освободившееся средства купить ещё жесткий для raid 0 seiver2009@ya.ruAnonymous
November 18, 2013
задолбало чистить постоянно диск "С" , на нем 50 гигов. Installer, winsxs, pagefile.sys, винда пожирает все ресурсы. с winsxs что могу сделать? удалить/перенести на другой локальный диск? прошу написать на почту, буду благодарен! prmang@mail.ruAnonymous
December 10, 2013
Winsxs...кто имеет опыт очистки? Будет ли стабильно работать система после данной манипуляции? Вес папки приближается к 11 ГБ, ось(7) была установлена в январе Прошу поделиться инфой, буду благодарен! aleks.kalugin.1991@mail.ruAnonymous
March 24, 2014
The comment has been removedAnonymous
December 18, 2014
У меня такой папки нет и нет такой проблеммы ))) Windows XP 64 bit . Но полагаю что будующее за LinuxAnonymous
April 21, 2015
папка winsxs весит 15,4 Гб, системе 2 года, обновление отключил, но 15 гиг жалко. В итоге что делать то?