Как очистить память c

Обновлено: 03.07.2024

Ранее в теме Типы значений и ссылочные типы мы рассматривали отдельные типы данных и как они располагаются в памяти. Так, при использовании переменных типов значений в методе, все значения этих переменных попадают в стек. После завершения работы метода стек очищается.

При использовании же ссылочных типов, например, объектов классов, для них также будет отводиться место в стеке, только там будет храниться не значение, а адрес на участок памяти в хипе или куче, в котором и будут находиться сами значения данного объекта. И если объект класса перестает использоваться, то при очистке стека ссылка на участок памяти также очищается, однако это не приводит к немедленной очистке самого участка памяти в куче. Впоследствии сборщик мусора (garbage collector) увидит, что на данный участок памяти больше нет ссылок, и очистит его.

В методе Test создается объект Country. С помощью оператора new в куче для хранения объекта CLR выделяет участок памяти. А в стек добавляет адрес на этот участок памяти. В главном методе Main мы вызываем метод Test. И после того, как Test отработает, место в стеке очищается, а сборщик мусора очищает ранее выделенный под хранение объекта country участок памяти.

Сборщик мусора не запускается сразу после удаления из стека ссылки на объект, размещенный в куче. Он запускается в то время, когда среда CLR обнаружит в этом потребность, например, когда программе требуется дополнительная память.

Как правило, объекты в куче располагаются неупорядочено, между ними могут иметься пустоты. Куча довольно сильно фрагментирована. Поэтому после очистки памяти в результате очередной сборки мусора оставшиеся объекты перемещаются в один непрерывный блок памяти. Вместе с этим происходит обновление ссылок, чтобы они правильно указывали на новые адреса объектов.

Так же надо отметить, что для крупных объектов существует своя куча - Large Object Heap . В эту кучу помещаются объекты, размер которых больше 85 000 байт. Особенность этой кучи состоит в том, что при сборке мусора сжатие памяти не проводится по причине больших издержек, связанных с размером объектов.

Несмотря на то что, на сжатие занятого пространства требуется время, да и приложение не сможет продолжать работу, пока не отработает сборщик мусора, однако благодаря подобному подходу также происходит оптимизация приложения. Теперь чтобы найти свободное место в куче среде CLR не надо искать островки пустого пространства среди занятых блоков. Ей достаточно обратиться к указателю кучи, который указывает на свободный участок памяти, что уменьшает количество обращений к памяти.

Кроме того, чтобы снизить издержки от работы сборщика мусора, все объекты в куче разделяются по поколениям. Всего существует три поколения объектов: 0, 1 и 2-е.

К поколению 0 относятся новые объекты, которые еще ни разу не подвергались сборке мусора. К поколению 1 относятся объекты, которые пережили одну сборку, а к поколению 2 - объекты, прошедшие более одной сборки мусора.

Когда сборщик мусора приступает к работе, он сначала анализирует объекты из поколению 0. Те объекты, которые остаются актуальными после очистки, повышаются до поколения 1.

Если после обработки объектов поколения 0 все еще необходима дополнительная память, то сборщик мусора приступает к объектам из поколения 1. Те объекты, на которые уже нет ссылок, уничтожаются, а те, которые по-прежнему актуальны, повышаются до поколения 2.

Поскольку объекты из поколения 0 являются более молодыми и нередко находятся в адресном пространстве памяти рядом друг с другом, то их удаление проходит с наименьшими издержками.

Класс System.GC

Рассмотрим некоторые методы и свойства класса System.GC:

Метод AddMemoryPressure информирует среду CLR о выделении большого объема неуправляемой памяти, которую надо учесть при планировании сборки мусора. В связке с этим методом используется метод RemoveMemoryPressure , который указывает CLR, что ранее выделенная память освобождена, и ее не надо учитывать при сборке мусора.

Метод Collect приводит в действие механизм сборки мусора. Перегруженные версии метода позволяют указать поколение объектов, вплоть до которого надо произвести сборку мусора

Метод GetGeneration(Object) позволяет определить номер поколения, к которому относится переданый в качестве параметра объект

Метод GetTotalMemory возвращает объем памяти в байтах, которое занято в управляемой куче

Метод WaitForPendingFinalizers приостанавливает работу текущего потока до освобождения всех объектов, для которых производится сборка мусора

Работать с методами System.GC очень просто:

С помощью перегруженных версий метода GC.Collect можно выполнить более точную настройку сборки мусора. Так, его перегруженная версия принимает в качестве параметра число - номер поколения, вплоть до которого надо выполнить очистку. Например, GC.Collect(0) - удаляются только объекты поколения 0.

Еще одна перегруженная версия принимает еще и второй параметр - перечисление GCCollectionMode . Это перечисление может принимать три значения:

Default : значение по умолчанию для данного перечисления (Forced)

Forced : вызывает немедленное выполнение сборки мусора

Optimized : позволяет сборщику мусора определить, является ли текущий момент оптимальным для сборки мусора

Мы уже писали о сборке мусора для JavaScript, о DOM, и о том, как всё это реализовано и оптимизировано в JS-движке V8. Правда, Chromium — это не только JavaScript. Большая часть браузера и движок рендеринга Blink, куда встроен V8, написаны на C++. JavaScript можно использовать для работы с DOM, а на экран изменения выводятся с использованием конвейера рендеринга.

Так как граф C++-объектов, имеющих отношение к DOM, тесно связан с JavaScript-объектами, команда разработчиков Chromium пару лет назад начала использовать для управления памятью, в которой хранятся эти объекты, сборщик мусора, названный Oilpan. Oilpan — это сборщик мусора, написанный на C++ и предназначенный для управления C++-памятью, которая может быть подключена к V8. Управление памятью осуществляется с использованием технологии кросс-компонентной сборки мусора. В рамках этой технологии граф связанных C++/JavaScript-объектов рассматривается как единая куча.


Этот материал является первой публикацией, посвящённой Oilpan. Здесь будет сделан обзор основных принципов, лежащих в основе данного сборщика мусора, а также — C++-API Oilpan. Мы рассмотрим некоторые возможности, поддерживаемые Oilpan, расскажем о том, как устроена работа различных подсистемам сборщика мусора. Тут же мы разберём процесс конкурентного освобождения памяти, занятой объектами.

Самое интересное здесь то, что система Oilpan является частью Blink, но сейчас осуществляется её перевод в V8, где она будет представлена в форме библиотеки для сборки мусора. Цель этого всего заключается в том, чтобы облегчить доступ к C++-механизмам сборки мусора всем тем, кто встраивает в свои платформы движок V8. Кроме того, то, что Oilpan станет библиотекой, позволит пользоваться этой системой абсолютно всем заинтересованным в ней C++-программистам.

Общие сведения

В Oilpan применяется система сборки мусора, в которой используется алгоритм пометок (Mark and Sweep). Этот алгоритм предусматривает разделение процесса сборки мусора на две фазы. Первая фаза заключается в исследовании кучи, и в пометке (mark) «живых» объектов, которые нельзя удалять из памяти. Вторая фаза — это очистка (sweep) памяти кучи, которую занимают ненужные («мёртвые») объекты.

О фазе mark нашей реализации алгоритма мы уже писали. Если вспомнить основные идеи того материала, то окажется, что поиск «живых» объектов может рассматриваться как обход графа, в котором объекты — это узлы, а указатели, с помощью которых объекты ссылаются друг на друга, это рёбра графа. Обход начинается с корневых сущностей, которыми являются объекты, о которых заранее известно то, что они — «живые». Это, например, глобальный объект и активные функции.

В этом плане C++ от JavaScript не отличается. Правда, в отличие от JavaScript-объектов, C++-объекты статически типизированы. Они, в результате, не могут менять собственное представление во время выполнения программы. При работе с C++-объектами с применением Oilpan этот факт учитывается и предоставляется описание указателей на другие объекты (рёбра графа) с использованием паттерна «Посетитель» (Visitor). Базовый паттерн используемый для описания Oilpan-объектов, выглядит так:


В этом примере Oilpan управляет LinkedNode , на что указывает то, что класс LinkedNode является наследником GarbageCollected<LinkedNode> . Когда сборщик мусора обрабатывает объект, он находит указатели на другие объекты, вызывая метод объекта Trace . Тип Member — это интеллектуальный указатель, который, с синтаксической точки зрения, похож, например, на std::shared_ptr , который предоставляется Oilpan и используется для поддержания единообразного состояния при обходе графа объектов во время выполнения маркировки объектов. Всё это позволяет Oilpan точно знать о том, где именно находятся указатели, с которыми работает эта система.

Тот, кто внимательно прочитал вышеприведённый код, возможно, заметил (и, может быть, его это испугало) то, что first_node и second_node хранятся в стеке в виде обычных C++-указателей. Oilpan не задействует дополнительные абстракции для работы со стеком. Сборщик мусора, обрабатывая корневые объекты в куче, которой управляет, полагается исключительно на консервативное сканирование стека при поиске указателей. Всё это работает путём пословного перебора стека и благодаря интерпретации слов в виде указателей на сущности, находящиеся в управляемой куче. Это означает, что использование Oilpan не приводит к ухудшению производительности при доступе к объектам, размещаемым в стеке. Вместо этого нагрузка переносится на этап сборки мусора, когда осуществляется консервативное сканирование стека. Oilpan интегрирован в подсистему рендеринга и пытается откладывать запуск процедуры сборки мусора до тех пор, пока система не достигнет состояния, когда в стеке, точно, не будет ничего интересного. Так как работа веб основана на событиях, а выполнение кода производится путём обработки задач в циклах событий, в распоряжении Oilpan оказывается достаточно удобных моментов для запуска сборки мусора.

Oilpan используется в Blink, а это — большая кодовая база, написанная на C++, в которой содержатся значительные объёмы зрелого кода. Благодаря этому Oilpan, кроме прочего, отличается следующими возможностями:

  • Множественное наследование с помощью миксинов и ссылок на подобные миксины (внутренние указатели).
  • Поддержка вызова сборки мусора при выполнении конструкторов.
  • Поддержание объектов из неуправляемой памяти в «живом» состоянии с помощью интеллектуальных указателей Persistent , которые рассматриваются как корневые сущности.
  • Коллекции, представляющие собой последовательные (например — vector) и ассоциативные (например — set и map) контейнеры. Возможность уплотнения данных, лежащих в основе коллекций.
  • Слабые ссылки, слабые функции и эфемерные структур данных.
  • Финализаторы — методы, выполняемые перед удалением из памяти отдельных объектов.

Очистка памяти для C++

О том, как осуществляется пометка объектов в ходе работы Oilpan, мы поговорим в другой раз. Сейчас же будем исходить из предположения о том, что пометка объектов уже выполнена и Oilpan уже обнаружил все достижимые объекты, используя метод объектов Trace . После того, как фаза пометки завершена, у достижимых объектов оказывается установленным соответствующий бит.

Очистка — это та фаза работы Oilpan, когда уничтожаются «мёртвые» объекты (те, которых не удалось достичь на фазе пометки объектов). Память, которую они занимают, либо возвращается операционной системе, либо становится доступной для выделения под другие объекты. Ниже мы поговорим о том, как Oilpan выполняет очистку памяти, рассмотрим особенности выполнения этого процесса и его ограничения. Мы, кроме того, поговорим о том, как механизму очистки памяти Oilpan удаётся достигать высоких скоростей при уничтожении «мёртвых» объектов.

Система очистки памяти находит «мёртвые» объекты, перебирая память кучи и проверяя соответствующие биты объектов. Для того чтобы сохранить семантику C++, системе очистки памяти нужно вызывать деструктор каждого из «мёртвых» объектов перед освобождением занимаемой им памяти. Нетривиальные деструкторы реализуются в виде финализаторов.

Здесь, с точки зрения программиста, нет заранее заданного порядка, в котором вызываются деструкторы, так как механизм перебора, используемый системой очистки памяти, не принимает во внимание порядок создания уничтожаемых объектов. Это накладывает на финализаторы ограничения, в соответствии с которым они не могут обращаться к другим объектам, находящимся в куче. Перед нами встаёт задача, встречающаяся достаточно часто. Она заключается в следующем: есть платформа, которая не поддерживает указание порядка финализации объектов (вроде Java), но при этом для данной платформы нужно писать код, требующий определённого порядка вызова финализаторов. Oilpan использует плагин Clang, который, в статическом режиме, обеспечивает запрет доступа к объектам кучи в процессе уничтожения объектов (это — лишь одна из многих возможностей Clang):


В этом коде происходит ошибка при попытке обращения к объекту из кучи в ходе уничтожения другого объекта.

Если вас интересует вопрос уничтожения объектов, то знайте, что Oilpan даёт в распоряжение программиста коллбэки, вызываемые перед финализатором. Это позволяет реализовывать сложные схемы уничтожения объектов, когда объекту, перед уничтожением, нужен доступ к другим объектам. Подобные коллбэки создают немалую дополнительную нагрузку на систему в ходе сборки мусора. Эта нагрузка больше той, которую способны создать деструкторы. Поэтому такие коллбэки используются в Blink относительно редко.

Инкрементальная и конкурентная очистка памяти

Теперь, когда мы поговорили об ограничениях деструкторов в управляемом C++-окружении, пришло время более подробно остановиться на том, как в Oilpan реализована и оптимизирована очистка памяти.

Но, прежде чем переходить к этому разговору, важно вспомнить о том, как программы выполняются в веб-среде. Выполнение кода, а именно — JavaScript-кода, равно и как очистка мусора, инициируются главным потоком путём помещения задач в цикл событий. Система рендеринга, как и другие среды для выполнения кода, поддерживает фоновые задачи, которые, вместе с главным потоком, выполняются в конкурентном режиме. Это позволяет снять часть нагрузки с главного потока.

В самом начале в Oilpan использовался механизм очистки памяти, реализованный по схеме «stop-the-world». Это означало, что выполнение приложения в главном потоке приостанавливалось во время проведения процедуры очистки памяти.


Приостановка выполнения кода в ходе очистки памяти

Для приложений, на которые не накладывается слишком сильных ограничений, касающихся их работы в режиме реального времени, определяющим фактором при использовании сборщика мусора являются задержки. Очистка памяти с использованием механизма, работающего по принципу stop-the-world, может приводить к тому, что выполнение программы будет приостанавливаться на значительные промежутки времени, что приводит к задержкам, заметным пользователям. Для сокращения времени этих задержек сборку мусора улучшили, реализовав в ней инкрементальную очистку памяти.


Инкрементальная очистка памяти

В Oilpan механизм инкрементальной очистки памяти использовался несколько лет. Но, по мере того, как приложения, а значит и графы их объектов, становились всё больше и больше, очистка памяти начала влиять на производительность приложений. Ради улучшения механизмов сборки мусора, мы, для реализации конкурентной очистки памяти, начали использовать фоновые задачи. Для того чтобы исключить «гонку данных» между фоновыми задачами, выполняющими очистку памяти, и приложением, выделяющим память под новые объекты, существуют два правила:

  • Система очистки памяти обрабатывает только память «мёртвых» объектов, которые, по определению, недостижимы из приложения.
  • Приложение выделяет память, используя только ту память, которая принадлежит очищенным страницам. Такие страницы уже не интересуют систему очистки памяти.


Конкурентная очистка памяти с использованием фоновых задач

Так как финализаторам может понадобиться доступ ко всему тому, что содержится в объектах, добавление соответствующей памяти в список свободной памяти откладывается до момента завершения выполнения финализатора. Если у объекта нет финализатора, то механизм очистки памяти, выполняющийся в фоновом потоке, сразу же добавляет освобождённую память в список свободной памяти.

Результаты

Механизм фоновой очистки памяти был выпущен в сборке Chrome M78. Наш фреймворк для тестирования Chrome в условиях, приближенных к реальным, показал уменьшение времени, уходящего в главном потоке на операции, связанные с очисткой памяти, на 25-50% (в среднем — на 42%). Ниже показаны результаты испытаний некоторых популярных веб-проектов.


Время в миллисекундах, затрачиваемое на выполнение операций по очистке памяти. Синим цветом выделены результаты, полученные в M77 без использования конкурентной очистки памяти. Красным представлены результаты M78, где конкурентная очистка памяти используется

То время, которое всё ещё уходит в главном потоке на очистку памяти, требуется для выполнения финализаторов. В настоящее время идёт работа по оптимизации финализаторов для типов объектов, которые часто используются в Blink. Примечательно здесь то, что все такие оптимизации проводятся за пределами кода системы очистки памяти, так как эта система, в её текущем виде, автоматически подстраивается под ситуацию при отсутствии финализаторов.

Сталкивались ли вы с проблемами производительности веб-проектов, которые вызваны системой сборки мусора Chrome?

Рано или поздно системные блоки и ноутбуки засоряются лишней ненужной информацией. Как очистить диск C от файлов и программ, если вы уже заметили, что компьютер работает гораздо медленнее, чем в первые дни его покупки?

Объём, порой, занимает больше дискового пространства, чем необходимые программы и файлы. Это влияет на производительность ПК, она заметно снижается, программы начинают долго откликаться на заданные команды. Причём вовсе не обязательно постоянно загружать компьютер играми, приложениями, файлами. Дисковое пространство ПК может засориться от работы в интернете без скачиваний ненужных программ.

Не спешите вызывать мастера, а проверьте дисковое пространство самостоятельно. Нажмите правой кнопкой мыши:
1. Пуск,
2. Компьютер.

Переходим в меню Пуск- Компьютер

Найдите локальный диск (С:) и щёлкните по нему левой кнопкой мыши, выбрав из предложенного списка «Свойства».

Свойства диска C

Откроется окно с вкладкой «общие», где можно посмотреть информацию о свободном и занятом пространстве.

Свойства диска C

Начать очистку диска нужно с самых ходовых папок:
1. Избранное,
2. Библиотеки.

Очистка папки «Избранное» и «Библиотеки» на диске (C:)

Правой кнопкой мыши нажать:
• Пуск,
• Компьютер.

Найти папку «избранное», в которую входят основные подпапки: «загрузки», «рабочий стол»; и дополнительные, в зависимости от установленных программ, например, Яндекс.Диск и другие облачные сервисы.

Чистка папки избранное

Теперь можно открывать по одной подпапке и, без сожаления, удалять оттуда все ненужные файлы. Папку с загрузками можно освободить полностью, потому как в ней хранится информация, уже имеющаяся в компьютере. Это разные заархивированные rar и zip программы, которые уже были распакованы и установлены в компьютер. Ненужные ярлыки от них наверняка имеются на рабочем столе. Ещё встречаются старые загрузки, которые давно были удалены с рабочего стола из-за ненадобности.

Аналогично проведите ревизию с папкой «рабочий стол». В ней находится всё то, что вы привыкли видеть на мониторе. Возможно у вас там есть ненужные файлы или папки.

Оставшиеся файлы: картинки, музыку и программы из папки «Избранное», которые используются крайне редко, но по каким-то причинам они нужны, лучше перекинуть на отдельный диск, флеш-память или закинуть в любое облачное пространство: Яндекс.Диск, Мэйл облака. Это позволит освободить значительный объем дискового пространства.

Теперь перейдите в папку «Библиотеки» и освободите по максимуму подпапки:
• Видео,
• Документы,
• Изображения,
• Музыка.

Оставшийся материал можно перекинуть на отдельный диск. Чем чище будет диск (С:), тем производительней ПК.

Позаботьтесь о свободном месте заранее, чтобы в будущем она засорялась меньше. Можно большую часть подпапок перенести с диска (C:) на (D:), который, как правило, лежит пустой при полностью заполненном основном дисковом пространстве.

Свойства папки рабочий стол

Очистка папки temp (временная папка Windows)

Самый простой способ почистить компьютер — запустить специальную программу. Сегодня их много, среди них самые известные — это Glary Utilites и CCleaner.

Если программы по очистке нет, а устанавливать не хочется, почистите вручную. Для очистки надо попасть в папку temp, которая находится на диске (С:), но перед этим нужно закрыть все работающие программы. В зависимости от операционной системы вашего ПК, выберите одно из действий:

Для XP: «Пуск», потом «Выполнить»;
Для Vista и Windows 7: «Пуск», «Все программы», «Стандартные», «Выполнить».

В появившейся строке задать команду «%temp%» (без кавычек), нажать «ок».

Чистим папку Temp

Откроется папка с нескончаемым списком разных файлов. Удалите все, ничего страшного не произойдёт.

Удалить содержимое папки Temp

Ещё более простой способ очистки – это нажать на кнопку «очистить диск». Она находится в «свойствах» диска С, вызываемых с помощью левой кнопки мыши.

Очистка кэша

Современные браузеры кэшируют просмотренные интернет-страницы, то есть сохраняют в памяти их копии. Это ускоряет загрузку сайтов, которые вы часто посещаете, поэтому функция удобная. Со временем память засоряется, информация о новых страницах не кэшируется, и это приводит к медленной загрузке сайтов. Кажется, что интернет работает медленнее обычного. Чтобы посмотреть фотографии или видео, приходится долго ждать загрузки. Все эти данные нужно удалить.

Благодаря операции по очистке кэша, вы удалите оттуда копии страниц старых сайтов, куда уже никогда не вернётесь. Правда, вместе с кэшированием старых страниц очистится информация и о новых. Но это не страшно. Актуальные сайты сохранятся в памяти заново.

Самый простой способ почистить кэш – воспользоваться вышеупомянутой программой CCleaner. Стоит учесть, что при очистке кэша удаляется информация о логинах и паролях, если проглядеть и не снять галочку у поля «логины-пароли».

Очистка диска с помощью Ccleaner

Кэш можно очистить в самом браузере. В разных браузерах это делается по-разному. Рассмотрим все.

Браузер Google Chrome

Последовательность действий:
1. Ctrl + Shift + Del нажать одновременно;
2. В появившемся окне выбрать необходимые для очистки файлы;

Очистить историю Chrome


3. Очистить историю.

Браузеры Opera и Mozilla Firefox

Команда и действия в двух браузерах аналогичные, как в Google Chrome.

Очистить историю в Mozila

Internet Explorer

1. В панели браузера найти «сервис», щёлкнуть мышкой.
2. Выпадет меню, в котором нужно найти по порядку строчки «свойства обозревателя», «общие», «история просмотра».
3. Поставьте галочку, нажмите «удалить».

Очистить историю в IE


4. В открывшемся окне отметьте галочками необходимые для удаления пункты, нажмите ещё раз на «удалить».

Удаление контрольных точек восстановления

В функции операционной системы компьютера по умолчанию создаются контрольные точки для восстановления предыдущих состояний. Они бывают жизненно необходимы, когда случайно происходит сбой, или по ошибке удаляется нужная программа с драйвером, или при скачивании какой-нибудь бесплатной утилиты компьютер подхватывает вирус.

Благодаря контрольным точкам можно восстановить предыдущее состояние компьютера со служебных данных, записанных операционной системой на жёсткий диск (С:), без потери важных документов.

В зависимости от настроек контрольные точки могут создаваться с завидной регулярностью: от одного — до нескольких раз в сутки. Со временем это приводит к тому, что диск засоряется уже неактуальной информацией. То есть, если вашему ПК уже 5 лет, нет смысла хранить ненужные файлы о состоянии компьютера пятилетней давности. Операционной системе достаточно тех точек, которые она сделала за последние 1-2 месяца или 1-2 дня, по желанию. Остальное смело удаляйте, так как информация иногда занимает более 14 ГБ.

Чтобы выполнить операцию и освободить ПК от мусора, кроме самых последних точек, нужно сделать следующее:
1. Пуск
2. Мой компьютер
3. Свойства
4. Защита системы
5. Настроить
6. Удалить
7. Да

Удаление контрольных точек

Удаление ненужных программ и компонентов

Способ подойдёт опытным юзерам, но, так как компьютер можно восстановить от последней точки сохранения, может попробовать менее опытный пользователь ПК.

Удаление неиспользуемых программ или игр позволит освободить огромное количество места.

Нужно выбрать:
1. Пуск,
2. Панель управления,
3. Программы, удаление программ.

Удаление программ

Появится список из программ. Нужно проанализировать программы и удалить все, которыми вы давно уже не пользуетесь.

Не все программы при удалении забирают свои компоненты, поэтому придётся вручную пройтись по списку и удалить все.

При анализе каждой программы многие руководствуются размером файлов, удаляя только большие. Некоторые программы не показывают размер. Это создаёт ложное впечатление, что он весит ноль кб и особо не мешает. Лучше удалить его, если вы им не пользуетесь, потому что он может весить несколько ГБ, или просто тормозить компьютер.

Желательно, после каждой удалённой программы и компонентов, сразу сохранять контрольную точку. Это поможет вам в случае удаления нужного компонента — вернуть состояние компьютера, которое было до этого, но незадолго. В противном случае несколько часовая работа по удалению программ может пойти насмарку.

Расширение объема памяти компьютера

Для быстрой очистки диска (С:), если нет времени думать над каждой программой, можно купить дополнительно жёсткий диск на терабайт и перекачать все на него.

Также можно арендовать пространство у облачных сервисов, перекинуть всю имеющуюся информацию на сторонний диск. Большинство облачных хранилищ предоставляют вполне приличные объемы свободной памяти абсолютно бесплатно.

Для более удобного анализа диска воспользуйтесь бесплатной программой WinDirStat или подобной.
Благодаря ей можно просканировать жёсткий диск и узнать, какие типы программ и фалы, сколько места занимают. Если вы пользователь торрентов, то с помощью WinDirStat вы легко увидите и сможете избавиться от ненужных старых фильмов и программ, которые лежат на диске мёртвым грузом и занимают терабайты. К тому же WinDirStat может показать, сколько места занимает на диске программа, даже если эта информация была скрыта от вас.

Недавно встретил опрос «сколько места у вас на диске С», это и натолкнуло меня показать вам как очистить диск С от ненужных файлов при этом ничего лишнего не удалив.

Как показал опрос, у большинства людей всего 100 ГБ выделено под диск С, из которых свободно пара ГБ. Это не удивительно, ОС и необходимый софт занимают 50 ГБ, плюс мусор, временные файлы и в итоге память вся занята. Давайте приступим и по порядку удалим весь хлам с компьютера.

Быстрая чистка Windows 10

Чистим загрузки

Думаю, все знают, что это за папка, и почему она наполнилась. Если кто в танке «Загрузки» это, то место, где лежат все ваши файлы, которые Вы скачали/сохранили в интернете. Чтоб найти эту папку на компьютере, откройте «Компьютер/Мой компьютер» и в левом меню будет «Загрузки».


Если же по какой-то причине в левом меню этой папки нет, тогда зайдите: Диск С, Пользователи, «Имя пользователя вашего ПК», Загрузки.

Теперь, как Вы понимаете, я предлагаю удалить всё с этой папки, кроме того, что вам необходимо. Остальные файлы, которые вам еще пригодятся, лучше переместить на другой диск.

Чтоб переместить файлы в другой раздел, зажмите клавишу «Ctrl» и левой кнопкой мыши нажимайте на нужные вам файлы/папки. После того, как Вы всё выделили, нажмите «Ctrl» + «X» (Вырезать) затем откройте папку, куда хотите переместить и нажмите «Ctrl» + «V».

Переносим папку загрузок на диск D,E,F

Если у вас мало места на диске С и Вы не можете/хотите его расширить, логично будет перенести загрузки на другой диск, где объем это позволяет. Просто так перенести не выйдет, поэтому придется воспользоваться следующим способом:

  1. Зайдите на диск С, Пользователи, «Имя пользователя вашего ПК», «Загрузки».
  2. Правой кнопкой мыши кликните по папке «загрузки» и в меню выберите «Свойства».
  3. В верхнем меню перейдите на «Расположение».
  4. Перед вами путь вашей папки, который можно изменить вручную либо нажать «Найти папку».


  1. После того, как Вы выбрали папку на другом диске, нажмите «Применить» и всё готово!

Удаляем временные файлы

Временные файлы хранятся в папке «Temp» и все они ненужный мусор, который засоряет ваш компьютер. Эти файлы остаются после установки программ, обновлений и т.д. Удалять их можно абсолютно все, даже не глядя, что там есть.

Для начала давайте откроем папку «Temp». Откройте «Диск С», далее «Windows» затем откройте папку «Temp». Выделите все файлы сочетанием клавиш «Ctrl» + «A» и удалите их.

Возможно, Windows уведомит вас, что удалить определенный файл можно лишь с правами Администратора. Нажмите да/продолжить.

Если у вас Windows XP, тогда переходим к следующему пункту, если же Windows 7-10, тогда делаем следующее:

В поиске, на панели пуск напишите «%temp%» и откройте папку.


Альтернативный вариант открытия: в адресной строке впишите «C:\Users\UserName\AppData\Local\Temp». Где «UserName» нужно вписать имя пользователя вашего ПК.

В этой папке удалите всё, что только можно удалить. Лично у меня, за 1 месяц собралось почти 2 ГБ временных файлов.

Проводим чистку утилитой Ccleaner

Хочу предложить вам воспользоваться программой под названием «ccleaner». Это очень мощная утилита, которая делает половину того, о чем сказано выше, а также чистит кэш, историю браузер и ещё много чего. Если вам что-то чистить ненужно, например, историю браузера, это можно отключить в настройках.

В любом случае я всем советую её использовать, поэтому давайте посмотрим где её скачать и как ею пользоваться:

Установите и запустите программу. Во время установки снимите галки возле ненужных программ (Аваст и т.д.).

Перейдите на вкладку «Options» затем «Setting» и вместо английского выберите русский язык.

Перейдите на вкладку очистка и снимите везде галки, что Вы не хотите чистить (журнал браузера и т.д.). После этого нажмите «очистка».

Вы будете приятно удивлены, после очистки программа покажет на сколько МБ она освободила ваш компьютер.

Удаляем ненужные программы

Со временем собирается большое количество ПО, которое по сути не используется. Что-то Вы установили сами, что-то установилось само (вирусы от mail.ру, аваст и прочая…). Ранее, я уже писал «Как удалить Аваст», поэтому давайте рассмотрим на его примере:

Вот таким способом удалите все программы, которые Вы не используете. Не удаляйте ничего, в чём не уверены, особенно ПО от «Adobe» и «Microsoft», а остальное не особо важно.

Увеличиваем место на диске С

Рекомендовано, чтоб всегда было свободно место на диске С не менее 30 ГБ. Это необходимо для корректной работы системы и на случаи обновлений, резервных копий и т.д.

Увеличить место на диске С за счет другого диска довольно просто и чтоб не делать миллион скриншотов я предлагая посмотреть небольшое видео:

Чистим корзину

После того, когда Вы удаляете какой-либо файл или папку, он попадает в корзину на случай, вдруг Вы передумаете. Эти файлы скапливаться там до того момента, пока Вы не очистите корзину вручную или не восстановите их обратно.

После такой глобальной чистки диска C, обязательно нужно очистить корзину. Вообще, рекомендую это делать регулярно (раз в неделю будет достаточно), тем более это не отнимает много времени.

Чтоб очистить корзину, найдите на рабочем столе иконку с мусорным ведром и соответствующей надписью, после нажмите на ней правой кнопкой мыши и в меню выберите «Очистить корзину». Готово! Дело на 10 сек. а места на диске стало больше.

Чего не стоит делать

Тут я постараюсь перечислить все возможные ошибки неопытных пользователей, а также упомянуть советы других сайтов и объясню, почему не стоит этого делать (если что-то забыл, добавьте в комментариях):

  • Ни в коем случае не удаляйте никакие файлы и папки на диске C если они там без ваших действий. Т.е. можете удалять только те папки, которые создали Вы. В противном случае это может привести к сбою ОС.
  • Не делайте ничего с файлом гибернации. Не отключайте его, не удаляйте. Только опытные пользователи могут правильно отключить его, чтоб в дальнейшем не столкнуться с системной ошибкой. Выигранные мегабайты того не стоят.
  • Не отключайте и не изменяйте размер файла подкачки – это повлияет на быстродействие вашей системы.
  • Стандартная «Очистка диска». В свойствах компьютера есть стандартная утилита, которая якобы чистит диск С от мусора. Да, это так, но к примеру, за 1 год использования компьютера там соберётся файлов на 60 МБ (это очень мало). Просто непросто это уже не актуально и не стоит трать свое время.
  • Удаляйте программы полностью (подробно об этом написано выше), при помощи специальных файлов инсталляции uninstall.exe. Не нужно удалять программы вместе с папкой в разделе “program files” иначе останется много других файлов этой программы на диске.

Заключение

Как Вы сами можете увидеть, было удалено очень много ненужных файлов, программ и папок. Теперь у вас появилось много свободного места на диске С. Ещё я рекомендую почистить компьютер, чтоб он не тормозил:


Разобравшись, как очистить диск С, вы сможете удалить с накопителя, на котором размещена операционная система Windows, лишние файлы — и освободить место для нужных данных. Например, для установки новых программ, скачивания или создания роликов, графики или музыкальных композиций. Жёсткий диск компьютера, не подвергавшийся чистке, как правило забит цифровым мусором — в статье от «Службы добрых дел» вы узнаете, какими способами высвободить несколько мегабайтов или гигабайтов, не жертвуя важными данными.

Шаг первый. Очистка временной информации

Инструкцию, как очистить системный диск, начнём с удаления файлов, когда-то созданных системой или приложениями, но давно уже ставших ненужными. Такой мусор накапливается на носителе, не неся пользы и не давая вам записать на винчестер по-настоящему важные сведения.

Чтобы почистить накопитель системными средствами:

  1. Откройте меню «Компьютер/Этот компьютер/Мой компьютер».
  2. Наведите курсор мыши на системный диск и откройте контекстное меню нажатием на правую клавишу мыши.
  3. Выберите пункт «Свойства».
  4. Когда откроется следующее окно, щёлкните по кнопке «Очистка диска».
  5. В списке выделите галочками элементы, хранящиеся на локальном носителе, которые хотели бы стереть. Чтобы освободить место на диске, можете ориентироваться на размер файлов — или просто выделить все позиции.
  6. Нажмите «ОК» и подтвердите желание избавиться от ненужных данных.


Чтобы высвободить ещё больше места, после завершения операции перейдите, не закрывая окна, на вкладку «Дополнительно». Здесь вы сможете удалить, в частности, старые точки резервного восстановления.


Шаг второй. Стирание программ и программных данных

Не все временные сведения, подлежащие удалению, определяются системными средствами. Чтобы очистить диск с от ненужных файлов с большей эффективностью:

  1. Откройте «Панель управления», например, развернув меню «Пуск» и введя название системного инструмента.
  2. Перейдите к подразделу «Программы и компоненты».
  3. В новом окне, содержащем таблицу, задайте сортировку по размеру.
  4. Удалите «тяжёлые» неиспользуемые приложения и игры.

И после завершения этой операции часть ненужной информации останется на носителе. Завершите очистку применением специальной программы для поиска системного мусора. Можете воспользоваться бесплатно распространяемым продуктом CCleaner — он поможет обнаружить и стереть лишние данные не только на системном, но и на прочих HDD.


Шаг третий. Активация автоматической очистки

Правильно почистить диск С может и сама Windows 10. Чтобы включить функцию, освобождающую вас от необходимости чистки вручную:

  1. Из меню «Пуск» перейдите к «Параметрам», кликнув по значку-«шестерёнке».
  2. Откройте раздел «Система».
  3. На вкладке «Память» включите «Функцию контроля памяти».


Перейдя по ссылке «Настроить…», вы сможете задать время хранения данных, создаваемых операционной системой и приложениями, выбрать, нужно ли стирать информацию из папки «Загрузки», задать периодичность запуска утилиты.


Нажав на кнопку «Освободить пространство сейчас», вы запустите немедленное удаление лишних данных.


Остались вопросы или нуждаетесь в помощи? Обращайтесь в «Службу добрых дел» — мы расскажем, как высвободить место на забитом жёстком диске!

Читайте также: