Жрет память на диске с: Куда пропадает место на диске — решение

Содержание

Куда пропадает место на диске «C:»

Вопрос от пользователя

Здравствуйте.

Помогите определиться с одной проблемой: у меня каждый день все меньше и меньше свободного места на системном диске, где установлена Windows 10 (локальный диск C:\).

Можно ли как-то ограничить аппетиты моей системы, и вообще, как узнать, куда пропадает место на диске, есть ли специальные утилиты для этого. Заранее благодарю! 

 

Доброго времени суток!

Знакомая проблема. Смотришь сегодня на жестком диске пропало 2 ГБ, завтра — еще 2-3 ГБ, через недельку — нет уже 10 ГБ… Невольно начинаешь задумываться, а что будет через месяц — вообще свободного места не останется? 👀

Наверное, стоит сразу сказать, что подобное редко происходит из-за вирусов, чаще — из-за определенных настроек самой ОС Windows: избыточного количества точек восстановления, из-за кэша браузеров, различного «мусора», который скапливается на системном разделе.

В этой статье расскажу, как от всего этого «добра» избавиться и освободить место на диске.

*

👉 В помощь!

Возможно вам будут интересны утилиты для очистки Windows от мусора — золотая подборка.

 

*

Содержание статьи

Защита системы (может отнять до десятков ГБ)

По умолчанию в системе Windows включено создание точек восстановления (кроме, пожалуй, Windows 10, да и то зависит от версии ОС).

Так вот, эти точки восстановления могут отнять до 12% места на жестком диске (причем, на каждом его разделе!). Согласитесь, если у вас системный раздел жесткого диска с Windows, скажем, на 200 ГБ — то отдавать примерно 25 ГБ на точки восстановления — слишком уж много?!

*

Примечание: я не призываю совсем работать без точек восстановления, но поубавить пыл ОС вполне можно. Тем более, важно не количество точек — а их качество.

*

И так, чтобы настроить место под точки восстановления, откройте 👉 панель управления и перейдите в раздел «Система и безопасность\Система».  

Система и безопасность — система

 

После откройте откройте вкладку «Защита системы» (скрин ниже 👇).

Защита системы

 

Далее выберите свой жесткий диск в разделе

«Доступные диски» и нажмите кнопку «Настроить» (примечание: напротив вашего системного диска «C:\» — будет гореть значок Windows ).

Защита системы — настроить

 

Затем передвиньте ползунок и ограничьте используемой дисковое пространство для защиты системы (если используете сторонние программы для бэкапа — можно вообще отключить всю эту защиту).

Отключить систему защиты

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

 

*

Скопление временных и мусорных файлов. Чистка диска

Как бы вы аккуратны не были — со временем, на любом жестком диске начинает скапливаться разного рода «мусор»: файлы от старых удаленных приложений, временные файлы, использовавшиеся в процессе установки, кэш браузеров, пустые папки, неверные ярлыки и т. д.

Всё это «добро», со временем, начинает серьезно сказываться на производительности вашей системы в целом…

*

👉 Наиболее качественную очистку Windows от мусора обеспечивают спец. утилиты:

  1. 👉 «System Care»;
  2. 👉 «Ускоритель компьютера»;
  3. 👉 «CCleaner» и др.

Очистка диска от мусора / Утилита «Ускоритель компьютера»

 

👉 Впрочем, в Windows есть и свой инструмент для чистки диска. Для его запуска нужно сначала открыть «Этот компьютер» («Мой компьютер»), после перейти в свойства нужного диска и нажать кнопку «Очистка диска» (см. скриншот ниже 👇).

Свойства. Очистка диска

 

Далее подождать несколько секунд, пока идет анализ высвобождаемого места на диске.

Анализ диска

 

Затем указать галочками на против данных, которые вы разрешаете программе очистить на вашем диске. Например, файлы журнала установки, временные файлы интернета, автономные веб-странички и пр.

Кстати, обратите внимание, что чистильщик сообщает вам, сколько всего можно высвободить места (на скрине ниже — до 314 МБ).

Выбор, что очищать: какие файл удалять

*

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

На мой скромный взгляд, одна из лучших в своем роде — это 👉 Advanced System Care (даже в бесплатном варианте своей работы).

Например, во время анализа моего диска в Windows (во время написания статьи) — эта утилита нашла аж 16 ГБ мусорных файлов!

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

Чистка диска в Advanced SystemCare — найдено 16 ГБ мусора!

 

*

Файл подкачки и файл для гибернации (hiberfil.sys)

Про файл подкачки (pagefile. sys)

Чем больше программ вы запускаете (и чем они требовательнее) — тем больше оперативной памяти они потребуют.

Наступает такой момент, когда оперативная память занята, а требуется еще «кусок места». Чтобы не зависнуть — Windows использует место на жестком диске, куда отправляются наименее активные и нужные данные.

Используется для этого специальный файл — называют его

файл подкачки (сумбурно объяснил, но думаю широкой аудитории будет понятно).

Так вот, по сути этот файл нужен для расширения вашей оперативной памяти. Этот файл, обычно, раза в 2 больше, чем размер вашей ОЗУ. Таким образом, этот файл может отнять значительное место на диске.

*

Как проверить сколько занимает места файл подкачки и как его настроить

Для этого нужно открыть панель управления Windows по следующему адресу: Панель управления\Система и безопасность\Система.

Далее слева в столбце открыть ссылку «Дополнительные параметры системы».

Дополнительные параметры системы

 

Затем во вкладке «Дополнительно» откройте параметры быстродействия (см. скриншот ниже 👇).

Параметры быстродействия

 

Далее рекомендую поставить ползунок для оптимальной работы программ, и нажать по кнопке «Изменить» для настройки размера виртуальной памяти (это и есть файл подкачки).

Изменить размер виртуальной памяти

 

В большинстве случаев рекомендуется установить галочку на против пункта «Автоматически выбирать объем файла подкачки».

Правда, иногда система чересчур уж больно много отнимает места — в этом случае выставите объем в 1,5-2 раза больше, чем размер вашей ОЗУ. Этого места будет достаточно для нормальной работы Windows.

Автоматический объем файла подкачки

Примечание: многие ошибочно полагают, что чем больше места они отведут под виртуальную память — тем быстрее будет работать их ПК. Это настоящее заблуждение!

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

 

*

Про файл для гибернации и спящего режима (hiberfil.sys)

Чтобы быстро «пробудить» компьютер и начать с ним работу — есть спец. режим гибернации (в нем все содержимое оперативной памяти записывается в спец. файл hiberfil.sys, который расположен на системном диске).

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

Но за все приходится «платить» — файл hiberfil.sys занимает достаточно много свободного места на диске. Если вы не пользуетесь этим режимом выключения ПК — то его можно «удалить».

Для этого 👉 откройте командную строку и впишите команду powercfg -h off (скриншот ниже).

Отключение гибернации — командная строка

 

*

Анализ занятого места на диске: как найти большие файлы и папки

Вот бывает уже все выполнил: очистил Windows от мусора, проверил все файлы и папки вручную, посмотрел установленные программы и игры — но ничего подозрительного нет, а место свободного мало (оно куда-то пропало, но вот куда?)!

В этом случае можно воспользоваться 👉 специальными утилитами, которые помогут построить диаграмму занятого мета на диске, и вы визуально и быстро сможете найти наиболее большие папки и файлы. Ну а уж с найденными папками сможете решить сами, что делать: удалять или оставить…

На мой скромный взгляд, весьма неплохая утилита для этого дела — 

WinDirStat (👇).

*

WinDirStat

Оф. сайт: ссылка на обзор

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

Что еще подкупает в программе: так это встроенный инструмент удаления папок и файлов. Только будьте осторожны: утилита видит скрытые и системные файлы, и вы можете легко удалить нужные для работы системы данные. Прежде, чем удалить тот или иной файл — узнайте о нём!

*

В качестве примера, приведу скрин моего проанализированного диска.

WinDirStat — оценка занятого места на диске

Как видно, показано сколько места занимают те или иные папки, какие файлы в них и пр. Внизу приведена диаграмма, щелкнув по области определенного цвета — вы увидите файл, который был представлен.

Разумеется, анализ лучше всего начинать с самых больших областей диаграммы.

👉 В помощь!

Чем забит мой жесткий диск или куда пропало свободное место на HDD [Анализ диска].

 

*

На этом у меня все, надеюсь на вашем жестком диске перестало быть тесно и появилось свободное место!

Удачи!

Первая публикация: 19.05.2017

Корректировка: 20.10.2020

Полезный софт:

  • Видео-Монтаж

  • Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
    Видео сделает даже новичок!
  • Ускоритель компьютера

  • Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).

Другие записи:

Как узнать, чем занято место на диске в Windows 10? Описание простого способа | Info-Comp.ru

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

Поэтому сегодня мы поговорим о том, как же узнать, чем занято место на диске в операционной системе Windows 10, при этом я покажу простой стандартный способ, при котором не требуется устанавливать и использовать дополнительные программы.

Если до Windows 10 нам приходилось использовать различные утилиты, для того чтобы узнать, какими файлами занято место на диске, сколько они весят, где хранятся и так далее, то теперь в Windows 10 можно обойтись и стандартными средствами, так как для этого в системе есть специальный функционал.

Простой способ узнать, что занимает место на диске в Windows 10

Сейчас давайте разберем стандартный способ, который теперь можно использовать в операционной системе Windows 10 для того чтобы узнать, чем занято место на диске.

Запускаем компонент «Параметры»

Для того чтобы узнать и посмотреть, что занимает место на диске в Windows 10, необходимо открыть компонент «Параметры», это делается из меню Пуск.

Заметка! Как записать GIF с экрана компьютера.

Открываем раздел «Система»

Затем нам нужно зайти в раздел «Система».

Переходим на вкладку «Память устройства» и выбираем диск

Далее переходим на вкладку «Память устройства» и выбираем диск для анализа, допустим, диск C.

Анализируем диск на занятое место

В результате Windows 10 проанализирует диск и выведет результат в упорядоченном по размеру виде.

Именно здесь мы можем посмотреть, чем занято место на диске, т.е. какие файлы, папки, программы, игры и другие данные хранятся у нас на жестком диске.

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

Чтобы посмотреть, что конкретно занимает место, необходимо зайти в интересующую категорию, просто кликнув по ней.

Заметка! Как узнать номер версии, номер сборки и выпуск Windows 10.

Приложения и игры

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

Системные и зарезервированные

Как видно из названия — это системные данные, сюда без лишней необходимости заходить не нужно.

Временные файлы

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

Другое

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

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

На заметку! Как запретить удаление файлов и папок в Windows 10

Документы, Изображения, Музыка, Видеозаписи, Рабочий стол

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

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

Видео-инструкция

На сегодня это все, теперь Вы знаете, как без использования сторонних программ узнать, чем занято место на жестком диске в Windows 10, удачи Вам, пока!

Нравится9Не нравится1

Троянец Нет свободного места на диске : локальный диск переполнен

Троян Нет свободного места на диске

Приветствую вас уважаемые читатели. Сегодня очередная статья на тему “Куда деть неуёмную энергию и напакостить соседу”, и сейчас представлю вам статью о том, как создать лже-вирус, который поглотит пространство жёсткого диска полностью. Ну… какие там шутки, конечно… В этой статье вы увидите воочию, как троян создаётся и запускается.

он может попасть к жертве в таком виде




Суть вируса такова, что, запустившись в корне системного диска, он создаёт стремительно расширяющийся файл (в зависимости от конфигурации компьютера – до 1 Гб/сек), чем заполняет всё свободное его – диска – место и приводит систему в не совсем рабочее состояние со всеми вытекающими. При всём этом не всякий антивирус способен его обнаружить. Но при опробывании во избежании ошибки антивирус можно отключить. Однако на описанном его зловредность и заканчивается, никакого ущерба системе он более не принесёт.

Трюк с заполнением пространства диска или флешки можно провернуть быстрее. На такое способна маленькая встроенная fsutil. exe утилита в составе самой Windows. Но вам понадобится доступ к компьютеру жертвы.

Более того, вы вполне можете его опробовать на своей системе, предварительно сохранив все важные документы. Полноценным вирусом Пожиратель пространства в этом виде не является по нескольким причинам (ибо нарочито предпринято несколько действий – хотя они легко поправимы):

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

Если вы не знакомы с темой Троянов, то можете ознакомиться поближе с этим вопросом в статьях:

Что такое Троян?

Троян Нет свободного места на диске.

Приступаем.

Я не буду забивать вам голову, как тело вируса подготовлено. Скажу лишь, что это модифицированная версия трояна одного хорошего человека, написанная на С++ и скомпилированная по образцу статьи Компиляция программ на С. Там вы увидите исходник троянца и, если захотите, можете его собрать под свои нужды. Трояна уже в виде исполнительного файла вы можете скачать в архиве по ссылке. Если пожелаете, его можно превратить в жестокое оружие и все “недостатки”, из-за которых я его готовым трояном не назову, легко исправить: у меня на сайте всё для этого есть. Читайте. А пока…

Скачать Троянская лошадка

Перед запуском в папке C:\Windows\System32 создайте файл junk.dll – он и будет причиной несчастий.

После запуска трояна ваш диск будет забит до 0. Исправить ситуацию легко: в папке C:\Windows\System32 найдёте созданный вами файл с именем junk.dll и удалите его. Найти его вновь будет не трудно – он огромных размеров. Если что-то пойдёт не так, и файл потеряется, его будет легко обнаружить при помощи утилиты SpaceSniffer:

https://www.fosshub.com/SpaceSniffer.html

Успехов

Процесс System грузит Windows, что делать? Загруженность жесткого диска или процессора 100%

Операционная система Windows выполняет большое количество «фоновых» задач, которые могут негативно сказываться на производительности маломощных компьютеров. Одним из процессов, который грузит оперативную память, диск или CPU, является System.exe. В «Диспетчере задач» можно увидеть, что файл System грузит Windows, а если уточнить, то нагружает «железо» компьютера. Решить данную проблему владелец компьютера может самостоятельно, если выполнит ряд простых действий.


Оглавление: 
1. Процесс System грузит жесткий диск и память до 100%
2. Как отключить автоматическое обновление Windows 10 и системные службы
3. Видеоинструкция

Процесс System грузит жесткий диск и память до 100%

System – это процесс операционной системы Windows, который не является вирусом, вопреки распространенному заблуждению. Он отвечает за работу приложений в «фоновом» режиме, то есть без активного контроля со стороны пользователя. Данный процесс не скрывается, и его можно с легкостью обнаружить в «Диспетчере задач».

Главная проблема процесса System.exe, что его нельзя остановить. Таким образом, если System грузит оперативную память или жесткий диск компьютера, выключить простыми методами его не удастся. Понижение приоритета процесса с помощью стандартных средств Windows так же не приводит к успеху.

Процесс System примечателен тем, что он забирает оперативную память понемногу, и в итоге полностью ее нагружает. При этом в «Диспетчере задач» может отмечаться, что System грузит не более 200-400 Мб оперативной памяти, а она будет заполнена полностью, и компьютер начнет сильно зависать при выполнении любых задач. Подобным образом системный процесс System может грузить жесткий диск.

Чтобы файл System не грузил компьютер, расходуя непомерные ресурсы, следует отключить в операционной системе Windows некоторые «фоновые» задачи:

  1. Отключаем антивирус, поскольку проблема может крыться именно в нем. Чаще всего серьезно нагружает в фоне файл System антивирус от компании DrWeb;
  2. Отказываемся от автоматического обновления операционной системы Windows;
  3. Отключаем некоторые стандартные службы Windows.

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

Как отключить автоматическое обновление Windows 10 и системные службы

Компания Microsoft в операционной системе Windows 10, и более ранних версиях, предусмотрела возможность автоматического обновления программного обеспечения. К сожалению, данная функция на некоторых компьютерах приводит к тому, что при проверке доступных обновлений на сервисах Microsoft, файл System грузит оперативную память или жесткий диск. В таком случае единственным решением является отключение автоматического обновления Windows 10. Внимание: Если вы отключили автоматическое обновление Windows 10, рекомендуем раз в несколько месяцев (или недель) самостоятельно проверять наличие новых сборок операционной системы.

Отключить автоматическое обновление Windows 10 довольно просто, для этого необходимо:

  1. Нажать на клавиатуре сочетание клавиш Windows+R, и в открывшемся меню «Выполнить» прописать команду services.msc, а после нажать «ОК».
  2. Команда services.msc позволит открыть меню, в котором отображаются все системные службы. Листаем немалый список до тех пор, пока не обнаружим службу «Центр обновления Windows (локальный компьютер)». Жмем на обнаруженный элемент правой кнопкой мыши, и в выпавшем меню выбираем «Свойства».
  3. Откроются свойства выбранной службы, и здесь надо сперва нажать кнопку «Остановить», если она активна, а после изменить «Тип запуска» на «Отключена».

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

Помимо автоматического обновления Windows 10, чтобы процесс System не грузил систему, необходимо отключить и некоторые службы. В меню «Служб», которое открывается командой services.msc, также необходимо остановить, а после отключить, следующие локальные службы:

  • KtmRm для координатора распределенных транзакций
  • Snupchat
  • Superfetch
  • Агент политики IPsec
  • Клиент отслеживания изменившихся связей
  • Служба политики диагностики

Обратите внимание: в зависимости от версии операционной системы Windows, а также количества установленных драйверов и кодеков, некоторые службы, перечисленные выше, могут отсутствовать.

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

Видеоинструкция

Загрузка…

Что делать если процесс System сильно грузит диск и процессор

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

При проверке «Диспетчера задач» на предмет выявления провокатора проблемы пользователи обнаруживают, что грузит систему процесс System.exe. Нагрузка на жёсткий диск и процессор, достигающая 100%, критична для работы ПК, что заставляет разбираться, как ликвидировать проблему и оптимизировать работу компьютера. Именно с этими проблемами и разберёмся в статье.

Значимость процесса для системы

Продвинутые пользователи знают, что проблема с загрузкой системы процессом System ранее была актуальной для Windows 8, но теперь она усугубилась, всё чаще поражает даже Windows 10. Примечательно, что страдают от этой проблемы не только обладатели слабых, устаревших компьютеров, но и современных устройств, и процесс загружает одновременно диск, оперативную память и процессор более чем на 90%.

В зависимости от версии системы, процесс может быть прописан как System, или же «Система и сжатая память» в более старых ОС. Открыв свойства компонента в диспетчере задач, можно распознать проблему по названию исполнительного файла – ntoskrnl.exe. Неполадка может проявляться, сигнализируя о своём наличии, по нескольким сценариям: загрузка системы отмечается регулярно, независимо от задач, выполняемых на ПК, или же проблема проявляется с определённой периодичностью, при выполнении устройством задач.

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

Возникает логичный вопрос: почему же такой важный системный компонент работает неправильно, и как устранить неполадку, если завершить работу процесса невозможно?

Попробуем отыскать ответы на озвученные и сопутствующие вопросы.

Возможные причины загрузки системы

Факторов, способных спровоцировать прецедент с активизацией деятельности процесса System до критичных для ПК параметров, большое количество. Среди них отмечаются следующие причины:

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

Если речь идёт о Windows 10 или 8. 1, то фактором, в силу которого System грузит ОС, может выступать апгрейд систем путём архивации данных, с дальнейшим размещением информации в оперативной памяти, вместо оптимального решения проблемы методом её «складирования» в резервном файле подкачки.

Прежде чем приступать к сложным методам восстановления работы ПК, стоит проверить простые версии, которые в силах спровоцировать «необоснованную» активность компонента System. Первое, что стоит сделать – исключить вариант с перегревом процессора, особенно если его очистка от накоплений пыли исполнялась давно. Иногда путём блокировки новых операций процессор защищает себя от перегрева, что и выливается в такую проблему.

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

ВАЖНО. Если проблема активизировалась после автоматического обновления системы, переустановка Windows не даст результата: через некоторое время ситуация повторится. Для полного устранения неполадки потребуется отыскать истинную причину «перегруза».

Последующие манипуляции будут предусматривать кардинальное вмешательство в системные настройки: во избежание возможных неполадок при совершении ошибки пользователем необходимо создать резервную копию ОС или точку восстановления.

Все последующие методы восстановления работы ПК предусматривают наличие прав администратора у исполнителя работ, а работы над оптимизацией процесса System предусматривают остановку системных служб. Остановка служб, которая стабилизирует процесс System, грузящий диск или другие важные элементы, выполняется через «Диспетчер задач», с помощью введения команды «services.mcr» во вкладке «Выполнить», которая вызывается комбинацией клавиш Win и R, или путём введения запроса в поисковую строку.

Способы оптимизации процесса system.exe

Переходим к методам радикальной борьбы с неисправностью, когда процесс System грузит фактически стопроцентно процессор, винчестер или память. Первое, что стоит сделать пользователю – это осуществить на практике отказ от автоматических обновлений путём взятия операции под полный контроль, периодически запуская вручную установки обновлённых системных компонентов, необходимых для корректного функционирования Windows, отыскав их и загрузив предварительно из сети. Манипуляция заставит контролировать обновления и выполнять их периодически самостоятельно, вручную, возможно польза от этого будет ощутима: система станет менее подвержена перегрузам.

Для осуществления задачи в Windows 8.1 необходимо сделать следующее:

  1. Зайти в «Центр обновления Windows» через «Панель управления», где открыть вкладку «Настройка параметров».
  2. Установить в настройке «Важные обновления» директиву «Не проверять наличие обновлений», после чего подтвердить действие кнопкой «ОК».

При необходимости запустить обновления вручную достаточно будет в дальнейшем зайти в «Центр обновления» и активизировать процесс кнопкой «Установить обновления».

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

  1. Зайти в «Службы» через строку «Выполнить», путём введения в поисковой строке запроса services.mcr.
  2. Отыскать «Центр обновлений» и зайти в его «Свойства», кликнув по названию правой клавишей мыши и выбрав свойства в выпадающем списке.
  3. Напротив надписи «Тип запуска» установить значение «Отключена».
  4. В строке «Состояние» выбрать «Отключить».
  5. Подтвердить изменения кнопкой «Применить».

После внесения изменений желательно осуществить перезагрузку ПК, и проверить, грузит или нет процесс System систему. Если результат неудовлетворительный и система и дальше подвергается высоким нагрузкам, значит придётся искать проблему глубже.

Отключение службы Windows Search или индексации диска C – ещё один шаг, который может существенно снизить нагрузку на систему без принципиального влияния на функциональность ПК. Служба отвечает за оперативность поиска файлов и папок, но грузит процессор при сканировании и записи информации в файл индексации. Деактивация службы не будет ощутима для пользователя, единственное, может немного увеличиться время отклика на поиск конкретного файлового элемента. Выполняется отключение следующим образом:

  1. Аналогично предыдущему варианту, в службах потребуется открыть «Свойства» компонента Windows Search.
  2. Установить значения «Остановить» и «Отключена» напротив надписей «Состояние» и «Тип запуска» соответственно. Нажать кнопку «Применить».
  3. Осуществить перезагрузку ПК, чтобы изменения вступили в силу, и проверить результат.

При отсутствии результата необходимо проверить вариант, не является ли служба Superfetch постоянно активной, и если это так – выполнить отключение службы. Проблема заключается в том, что служба создана разработчиками для отслеживания часто используемых пользователем программ, модулей и информационных объектов, с их загрузкой в виртуальную память. Отключение службы позволит оптимизировать работу ПК, так как программы перестанут функционировать в фоне. По умолчанию на ПК с твердотельными накопителями эта служба должна отключаться автоматически, что заложено разработчиками ОС, но проверить версию всё же стоит. Задача выполняется по следующей инструкции:

  1. Через меню «Выполнить» зайти в «Редактор реестра» путём прописывания в строке команды «regedit».
  2. В окне редактора кликнуть по вкладке «Правка», выбрать в выпадающем списке команду «Найти». После выполненных манипуляций в правой области окна станет активной поисковая строка.
  3. Ввести в строку запрос «PrefetchParameters» и запустить поиск, что позволит найти в реестре папку с таким названием.
  4. В папке реестра «PrefetchParameters» потребуется изменить значение параметров «Enable Prefetech» и «EnableSuperFetch», проставив поочерёдно в каждом из них в графе «Значение» цифру 0 и подтвердив нажатием кнопки «ОК».
  5. Дальше потребуется зайти в службы, и отключить Superfetch, проследовав по уже известному пути: «Свойства Superfetch», состояние – «Остановить», тип запуска – «Отключена», «Применить».

После перезагрузки останется только осуществить проверку системы на наличие её перегруза процессом System.

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

Подведём итоги

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

Что это за служба и как её включить в Windows 10

В обновлении 1809 Windows 10, Microsoft выбрала новое имя для службы SuperFetch, называемое SysMain. Когда мы говорим о «памяти» компьютера, как правило, мы обращаемся к физической памяти RAM, которая у нас подключена. Операционные системы от microsoft имеют дополнительные функции и возможности, такие как виртуальная память файла подкачки или сжатую память (SysMain). Разработанные, чтобы максимизировать память и обеспечить нормальную работу компьютера даже при высоких рабочих нагрузках.

В Windows в дополнение к использованию RAM, имеет известную функцию, как файл подкачки (виртуальная память). Пространство зарезервированное на жестком диске, позволяя выполнять загрузку памяти и хранить информацию. Таким образом, когда не хватает оперативной памяти, то программы нуждающиеся в памяти обращаются к файлу подкачки на жестком диске. С появлением Windows 10, Microsoft реализовала в операционной системе новую функцию (которая уже существовала в течение некоторого времени в Linux и MacOS) под названием «SysMain«. Она является лучшей альтернативой обычной виртуальной памяти в ранних версиях Windows 8, 7, XP.

Что такое SysMain в Windows 10?

SysMain — это функция, которая была представлена ​​еще в Windows Vista, под другим именем как SuperFetch. Он тихо сидит на заднем плане, постоянно анализируя схемы использования ОЗУ и узнавая, какие приложения вы запускаете чаще всего. Со временем SysMain помечает эти приложения как «часто используемые» и заранее загружает их в оперативную память. Идея состоит в том, что когда вы захотите запустить приложение, оно запустится намного быстрее, потому что оно уже загружено в память.

Как уже говорил выше, «Службу узла: SysMain» это новая функция выпущена с выходом Windows 10, которая стремиться стать альтернативой файла подкачки, повышая общую производительность компьютера. В отличие от файла подкачки (который можно включить, изменить размер, отключить и т.д) эта опция включена по умолчанию в Windows 10 и работает без нашего вмешательства.

В ранних версиях Windows 10, SysMain назывался, как SuperFetch и была связана с процессом «Sysytem«, что вызывало удивление, что этот процесс потреблял большие объемы памяти. С обновлением Update Creators, этот параметр записывается в разделе «Диспетчера задач» как Структура памяти.

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

Как работает SysMain в Windows 10?

По умолчанию SysMain предназначен для того, чтобы занимать все доступное пространство ОЗУ с предварительно загруженными приложениями. Не волнуйтесь, речь идет только о неиспользованной памяти. Как только вашей системе требуется больше оперативной памяти (например, для загрузки приложения, которое не было предварительно загружено), она освобождает необходимую память по мере необходимости. 

До Windows 8.1, если приложению нужно использовать, к примеру 5 Гб памяти, а компьютер имеет лишь всего 4 Гб оперативной памяти, то система Windows вынуждена была отправить 1 Гб этих данных в файл подкачки, который на жестком диске. Благодаря этой виртуальной памяти появляется возможность запустить и использовать эту программу, но будет работать медленнее чем с достатком ОЗУ.

Начиная с Windows 10, когда операционная система нуждается в большем количестве памяти чем имеет в наличии, тогда и происходит процесс сжатия данных, как ZIP, в оперативную память, вместо того, чтобы отправить их на жесткий диск в файл подкачки. Таким образом, если нам нужно сохранить два информационных пакета данных 6 Гб и 3 Гб и компьютер имеет всего лишь 8 Гб ОЗУ, то Windows 10 сжимает пакет 3 Гб уменьшив его до 1.5 и поучается в общей сумме 7.5 Гб вместо 9 Гб и может получать к ней доступ из оперативной памяти не прибегая к обмену.

Хорошо или плохо иметь SysMain?

Windows, будет стараться избегать использования этого метода, когда есть доступная оперативная память, но когда некоторые данные требуют большого количества памяти при не хватки ОЗУ, то система будет делать компрессию данных (сжимать) занося их в оперативную память, чтобы сэкономить ресурсы, и попытаться заставить компьютер работать наилучшим образом.

Большая часть данных хранится в оперативной памяти, чтобы система могла обратиться к ним напрямую и без проблем. В виртуальной памяти или как еще называют файл подкачки, данные сохраняются на жесткий диск, тем самым уменьшая время обращение данных с жесткого диска в оперативную память. Некоторые пользователи видят, что память иногда забита по 3,5 Гб, но это не так страшно, когда у вас жесткий диск под 100 процентов может быть от файла подкачки. Нужно просто подождать пока произведется компрессия данных в ОЗУ.

  • Если кто-то хочет Включить или Отключить «Службу узла: SysMain«, то найдите службу SysMain в диспетчере устройств. Вывод один и очевиден, что сжатая память куда лучше чем файл подкачки, который даже на SSD диске.

Не рекомендую отключать эту службу.

 


Загрузка комментариев

Почему образ docker съедает мое дисковое пространство, которое не используется docker



Я настроил docker и использовал совершенно другое блочное устройство для хранения системных данных docker:

[root@blink1 /]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker

other_args="-H tcp://0.0.0.0:9367 -H unix:///var/run/docker.sock -g /disk1/docker"

Обратите внимание, что /disk/1 использует совершенно другой жесткий диск /dev/xvdi

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  5.1G  2.6G  67% /
devtmpfs        1.9G  108K  1.9G   1% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
/dev/xvdi        20G  5.3G   15G  27% /disk1
/dev/dm-1       9.8G  1.7G  7.6G  18% /disk1/docker/devicemapper/mnt/bb6c540bae25aaf01aedf56ff61ffed8c6ae41aa9bd06122d440c6053e3486bf
/dev/dm-2       9.8G  1.7G  7.7G  18% /disk1/docker/devicemapper/mnt/c85f756c59a5e1d260c3cdb473f3f4d9e55ac568967abe190eeaf9c4087afeac

Проблема в том, что когда я продолжаю загружать docker изображений и запускать docker контейнеров, кажется, что другой жесткий диск /dev/xvda1 также израсходован.

Я могу проверить эту проблему, удалив некоторые изображения docker. После того как я удалил несколько изображений docker, у /dev/xvda1 теперь есть еще немного дополнительного пространства.

Я что-то упустил?

Моя версия docker:

[root@blink1 /]# docker info
Containers: 2
Images: 42
Storage Driver: devicemapper
 Pool Name: docker-202:1-275421-pool
 Pool Blocksize: 64 Kb
 Data file: /disk1/docker/devicemapper/devicemapper/data
 Metadata file: /disk1/docker/devicemapper/devicemapper/metadata
 Data Space Used: 3054.4 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 4.7 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.14.20-20.44.amzn1.x86_64
Operating System: Amazon Linux AMI 2014.09
docker diskspace device-mapper
Поделиться Источник ming.kernel     09 января 2015 в 03:54

9 ответов


  • Не могли бы вы предложить наилучшие способы очистки контейнеров docker

    Я новичок в docker. Хотелось бы узнать об идеальных способах очистки контейнеров docker. Чтобы очистить контейнеры, я просто останавливаю контейнер и просто удаляю его с помощью команды docker rm . Но похоже, что docker съедает пространство на жестком диске. Я прошел через это Почему образ docker…

  • Docker хранение заправки движка

    Я запускаю контейнер docker на своей удаленной машине. Очень часто на удаленной машине заканчивается дисковое пространство. Обычно я удаляю каталог docker на своем удаленном компьютере и снова загружаю образ. Есть ли лучший способ?



65

Это проблема kernel с devicemapper, которая влияет на семейство RedHat OS (RedHat, Fedora, CentOS и Amazon Linux). Удаленные контейнеры не освобождают сопоставленное дисковое пространство. Это означает, что на затронутом OSs вы будете медленно исчерпывать пространство при запуске и перезапуске контейнеров.

Проект Docker знает об этом, и kernel предположительно исправлен в восходящем потоке ( https://github.com/docker/docker/issues/3182 ).

Своего рода обходной путь состоит в том, чтобы дать Docker свой собственный том для записи ( «When Docker eats up you disk space» ). На самом деле это не мешает ему есть пространство, просто убирая другие части вашей системы после этого.

Мое решение состояло в том, чтобы удалить docker, затем удалить все его файлы, а затем переустановить:

sudo yum remove docker
sudo rm -rf /var/lib/docker
sudo yum install docker

Это вернуло мне место, но это не сильно отличается от простого запуска экземпляра замены. Я не нашел более приятного решения.

Поделиться Nathaniel Waisbrot     12 января 2015 в 02:53



62

Удаление всего моего /var/lib/docker не подходит для меня. Это более безопасные способы :

Решение 1:

Следующие команды из этой проблемы очищают пространство для меня, и это намного безопаснее, чем удаление /var/lib/docker или для Windows, проверьте расположение образа диска здесь .

До :

docker info

Пример вывода:

Metadata file: 
Data Space Used: 53.38 GB
Data Space Total: 53.39 GB
Data Space Available: 8.389 MB
Metadata Space Used: 6.234 MB
Metadata Space Total: 54.53 MB
Metadata Space Available: 48.29 MB

Команда в более новых версиях Docker, например 17.x +

docker system prune -a

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

Пример вывода:

Total reclaimed space: 1.243GB

Затем вы можете снова запустить docker info, чтобы увидеть, что было очищено

docker info

Решение 2:

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

Проверьте размер использования пространства запущенного процесса docker

docker ps -s #may take minutes to return

или для всех контейнеров, даже вышедших

docker ps -as #may take minutes to return

Затем вы можете удалить оскорбительный контейнер/ы

docker rm <CONTAINER ID>

Найдите возможного виновника, который может использовать гигабайты пространства

docker exec -it <CONTAINER ID> "/bin/sh"
du -h

В моем случае программа записывала гигабайты временных файлов.

( Натаниэль Уэйсброт упомянул в принятом ответе этот вопрос , и я получил некоторую информацию из этого вопроса)


OR

Команды в более старых версиях Docker, например 1.13.x (запуск от имени root, а не sudo ):

# Delete 'exited' containers
docker rm -v $(docker ps -a -q -f status=exited)

# Delete 'dangling' images (If there are no images you will get a docker: "rmi" requires a minimum of 1 argument)
docker rmi $(docker images -f "dangling=true" -q)

# Delete 'dangling' volumes (If there are no images you will get a docker: "volume rm" requires a minimum of 1 argument)
docker volume rm $(docker volume ls -qf dangling=true)

После :

> docker info
Metadata file: 
Data Space Used: 1.43 GB
Data Space Total: 53.39 GB
Data Space Available: 51.96 GB
Metadata Space Used: 577.5 kB
Metadata Space Total: 54.53 MB
Metadata Space Available: 53.95 MB

Поделиться rjdkolb     01 февраля 2017 в 04:42



7

Переместите каталог /var/lib/docker .

Предполагая, что в каталоге /data достаточно места, если нет, замените его тем, который имеет,

sudo systemctl stop docker

sudo mv /var/lib/docker /data


sudo ln -s /data/docker /var/lib/docker

sudo systemctl start docker

Таким образом, вам не придется перенастраивать docker.

Поделиться Ajay Sharma     05 апреля 2016 в 12:47


  • Конвейер Jenkins с изображением Docker съедает дисковое пространство (Ubuntu)

    Я запускаю конвейер Jenkins на Ubuntu 16.04, используя образ Docker для запуска модульных тестов в моем проекте Android. Я настроил Jenkins так, чтобы сохранять только 1 сборку за раз и отбрасывать старые сборки (vps, которые я использую, имеют только 40 ГБ дискового пространства). Но каждый раз,…

  • Почему docker дисковое пространство растет бесконтрольно?

    Когда я boot мой docker-compose up -d он занимает очень мало места на диске. Но в течение нескольких недель я теряю место на своем сервере. Я не пробую никаких других изображений, так что проблема не в мертвых контейнерах или изображениях. Как только я boot docker-compose up -d , я не трогаю этот…



7

Была такая же проблема. В моем сценарии у моего vbox заканчивалось место для хранения. После расследования выяснилось, что мои docker локальных Тома съедают 30 Гб. Ubuntu 16.04 хоста.

Чтобы узнать твое.

docker system df

TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              3                   0                   1.361GB             1.361GB (100%)
Containers          0                   0                   0B                  0B
Local Volumes       7                   0                   9.413GB             9.413GB (100%)
Build Cache                                                 0B                  0B



docker system prune --volumes


  WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all volumes not used by at least one container
        - all dangling images
        - all build cache
Are you sure you want to continue? [y/N]

Это освобождает дисковое пространство неиспользуемых локальных томов. По моему сценарию освободилось 20 GB места для хранения. Убедитесь, что контейнеры, которые вы хотите сохранить, запущены , прежде чем делать это, если вы хотите сохранить их, так как это удаляет все остановленные контейнеры.

Поделиться BearOakheart     13 декабря 2019 в 07:43



5

У меня была аналогичная проблема, и я думаю, что это происходит, когда у вас недостаточно места на диске для всех ваших образов docker. У меня было зарезервировано 6 ГБ для docker изображений, которых в моем случае оказалось недостаточно. В любом случае, я удалил все изображения и контейнеры, и все равно диск выглядел полным. Большую часть пространства занимали /var/lib/docker/devicemapper и /var/lib/docker/tmp.

Эта команда не сработала для меня:

# docker ps -qa | xargs docker inspect --format='{{ .State.Pid }}' | xargs -IZ fstrim /proc/Z/root/

Во-первых, я остановил службу docker:

sudo service docker stop

Затем я удалил /var/lib/docker:

Затем я сделал то, что кто-то предложил здесь в https://github.com/docker/docker/issues/18867#issuecomment-232301073

  • Удалить существующий экземпляр docker метаданных rm -rf /var/lib/docker

    sudo rm -rf /var/lib/docker

  • Передайте демону docker следующие параметры: -s devicemapper —storage-opt dm.fs=xfs —storage-opt dm.mountopt=discard

  • Запустите демон docker.

Для последних двух шагов я выполняю:

sudo dockerd -s devicemapper --storage-opt dm.fs=xfs --storage-opt dm.mountopt=discard

Поделиться rodolk     04 апреля 2017 в 22:50



4

Docker обрезка по умолчанию не удаляет тома,

вы можете попробовать что-то вроде

docker volume prune -f

Поделиться Nirbhay Shah     17 апреля 2019 в 06:04


Поделиться Jiang Jun     12 октября 2016 в 05:55



0

может быть, вы можете попробовать docker system prune удалить все изображения, которые не важны

Поделиться Max     26 февраля 2019 в 04:27



-1

Да, Docker использует папку /var/lib/docker для хранения слоев. Есть способы освободить место и переместить хранилище в какой-нибудь другой каталог.

Вы можете mount увеличить дисковое пространство и переместить содержимое /var/lib/docker в новое расположение mount и сделать ссылку sym.

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

http://www.scmtechblog.net/2016/06/очистка-docker-изображения-из-локального-to.html

Вы также можете удалить промежуточные слои.

https://github.com/vishalvsh2/docker-image-cleanup

Поделиться vishal sahasrabuddhe     29 июня 2016 в 16:53


Похожие вопросы:


Можно ли определить память и дисковое пространство для контейнера Docker?

Можно ли определить память и дисковое пространство для контейнера Docker? Docker-это замена виртуальных машин, но я смущен использованием ресурсов Docker. Я могу установить ресурсы, которые будут…


Docker OSX дисковое хранилище

Я использую последнюю версию docker 1.8.2 на Mac OSX 10.10.5 Во время сборки у меня заканчивается дисковое пространство. Текущие документы указывают на https:/ /…


Отключить ведение журнала для одного контейнера в Docker-Compose

У меня есть веб-приложение, запущенное с использованием Docker compose, для которого я хочу отключить все ведение журнала (или, по крайней мере, распечатать его в системный журнал вместо файла)….


Не могли бы вы предложить наилучшие способы очистки контейнеров docker

Я новичок в docker. Хотелось бы узнать об идеальных способах очистки контейнеров docker. Чтобы очистить контейнеры, я просто останавливаю контейнер и просто удаляю его с помощью команды docker rm ….


Docker хранение заправки движка

Я запускаю контейнер docker на своей удаленной машине. Очень часто на удаленной машине заканчивается дисковое пространство. Обычно я удаляю каталог docker на своем удаленном компьютере и снова…


Конвейер Jenkins с изображением Docker съедает дисковое пространство (Ubuntu)

Я запускаю конвейер Jenkins на Ubuntu 16.04, используя образ Docker для запуска модульных тестов в моем проекте Android. Я настроил Jenkins так, чтобы сохранять только 1 сборку за раз и отбрасывать…


Почему docker дисковое пространство растет бесконтрольно?

Когда я boot мой docker-compose up -d он занимает очень мало места на диске. Но в течение нескольких недель я теряю место на своем сервере. Я не пробую никаких других изображений, так что проблема…


Как проверить дисковое пространство на хосте docker из контейнерного приложения?

У меня есть приложение python Flask, работающее в контейнере docker, а также несколько других приложений и обратный прокси-сервер nginx. Некоторые другие приложения записывают файлы журналов на…


Обновление JupyterHub руля выпустить w/ новый образ docker, но старого изображения используется?

У меня есть сервер ноутбука JupyterHub, и я работаю на управляемом kubernetes на aws (EKS). Мой репозиторий docker — это AWS ECR. Я итеративно разрабатываю свой образ docker для тестирования. Мой…


Docker overlay2 съедает дисковое пространство

Ниже приведена файловая система в overlay2, поедающая дисковое пространство, на Ubuntu Linux 18.04 LTS Дисковое пространство сервера 125 Гб overlay 124G 6.0G 113G 6%…

Тревоги памяти и диска — RabbitMQ

Во время работы узлы RabbitMQ потребляют разный объем памяти и диска. пространство в зависимости от рабочей нагрузки. При пиках использования объем памяти и свободного дискового пространства может достигать потенциально опасные уровни. В случае памяти узел может быть убит механизмом завершения процесса с низким потреблением памяти в операционной системе (известный как «убийца OOM» в Linux, например). В случае свободного места на диске, узлу может не хватить памяти, а это значит, что он не сможет выполнять множество внутренних операций.

Чтобы уменьшить вероятность этих сценариев, RabbitMQ имеет два настраиваемых ресурса водяные знаки. Когда они будут достигнуты, RabbitMQ заблокирует соединения, которые публикуют сообщения.

В частности, RabbitMQ будет блокировать подключения, которые публиковать сообщения, чтобы не быть убитыми ОС (убийца нехватки памяти) или исчерпание всего доступного свободного дискового пространства:

  • Когда использование памяти превышает настроенный водяной знак (предел)
  • Когда свободное место на диске падает ниже настроенного водяного знака (лимит)

Узлы временно будут блокировать публикацию подключений путем приостановки чтения из клиентского соединения.Соединения, которые используются только для , потребляют сообщений, не будут заблокированы.

Мониторинг пульса соединения также будет отключен. Все сетевые подключения будут отображаться в rabbitmqctl, а пользовательский интерфейс управления как блокирующий, то есть они не пытались опубликовать и могут продолжить, или заблокированы, то есть они опубликованы и сейчас приостановлено. Совместимые клиенты будут уведомлены когда они заблокированы.

Соединения, которые только потребляют, не блокируются аварийными сигналами ресурса; поставки им продолжайте как обычно.

Современные клиентские библиотеки поддерживают уведомление о подключении. (расширение протокола), поэтому приложения могут отслеживать их блокировку.

При запуске RabbitMQ в кластере выдает аварийные сигналы памяти и диска. общекластерные; если один узел превышает лимит, то все узлы заблокирует соединения.

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

Когда действует сигнал тревоги, публикация соединений блокируется обратным давлением TCP. На практике это означает, что операции публикации в конечном итоге полностью перестанут работать. Разработчики приложений должны быть готовы справиться с такими сбоями и использовать подтверждения издателя. чтобы отслеживать, какие сообщения были успешно обработаны и обработаны RabbitMQ.

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

Когда клиенты пытаются публиковать быстрее, чем сервер принимают их сообщения, они переходят в режим временного управления потоком.

Получение помощи и обратная связь

Если у вас есть вопросы по содержанию этого руководства или любая другая тема, связанная с RabbitMQ, не стесняйтесь спрашивать их в списке рассылки RabbitMQ.

Помогите нам улучшить документы

<3

Если вы хотите внести свой вклад в улучшение сайта, его исходный код доступен на GitHub. Просто создайте вилку репозитория и отправьте запрос на перенос. Спасибо!

Вот что делать, если на вашем компьютере заканчивается свободное место


Вы путешествуете по Интернету с мышью в одной руке, кофе в другой, а потом — wham — как Wile E.Койот врезался в кирпичную стену, ваш компьютер остановил вас. «Мало места на диске» отображается на панели задач вашего ПК. Или, если вы работаете на Mac, вы увидите окно с тревожным предупреждением, в котором говорится: «Ваш загрузочный диск почти заполнен».

«Поскольку компьютеры теперь настолько гибкие — от музыки и видео до изображений, которые они загрузили со своего телефона, — на ваш компьютер попадает очень много источников данных», — говорит Джейми МакГаффи, президент Плимута, штат Мичиган. на основе EdgeRunner, который производит SpaceMonger, отличный инструмент для Windows, позволяющий узнать, сколько места занимают ваши файлы.
[time-brightcove not-tgx = ”true”]

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

Шаг 1. Очистите корзину

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

Шаг 2. Сделайте дамп папки загрузки

Неважно, используете ли вы Mac или ПК, папки загрузок похожи на отдельный небольшой эпизод Hoarders. Помните, что скачанный AOL Instant Messenger, ваше резюме с той работы, на которую вы подали заявку в 2007 году, и фотографии, которые ваш друг сделал с концерта, на который вы ходили три лета назад? Они все здесь, устраивают вечеринку, которая бушует так сильно, что разрушает ваш компьютер.

Пора отбросить некоторые из этих файлов. Если вы работаете на Mac, вы найдете папку «Загрузки» рядом с корзиной для мусора на панели Dock. Если у вас компьютер, вы можете найти его, перейдя по адресу c: // users / username / appdata / local / temp. Просмотрите там файлы и выбросьте те, которые вам больше не нужны. Если вы частый пользователь Интернета, вы удивитесь не только тому, сколько там файлов, но и тому, сколько места вы освободите.

Шаг 3. Удалите одноразовые файлы

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

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

Но хуже всего являются файлы фильмов, загрузки кинематографических фильмов, которые вы купили (вы ведь купили их, не так ли?) В Интернете. Каждый из них может занимать от одного до пяти гигабайт. И если вы действительно купили эти фильмы, нет особых причин хранить их на своем компьютере, потому что все крупные интернет-магазины позволяют повторно загружать файлы после первоначальной покупки.

Шаг 4. Очистите облачное хранилище

Облачное хранилище — отличный инструмент для людей, которые могут получить доступ к своим данным, где бы они ни находились.Но если его не остановить, он может занимать место на жестком диске вашего компьютера, как рак. «Люди забывают, что автоматические резервные копии очень большие, — говорит МакГаффи. «Вещи, резервные копии которых создаются на мобильных устройствах и синхронизируются из облака, занимают много места».

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

Кроме того, особенно если вы используете iPhone или iPad, зайдите в iTunes, выберите «Настройки» и посмотрите на вкладку «Устройства». Там вы найдете список всех резервных копий для вашего iDevice. Удалите все, кроме самого последнего. «Кажется, что каждое устройство выполняет кросс-синхронизацию со всеми остальными устройствами, и именно здесь вы получаете много места для хранения», — говорит МакГаффи.

Шаг 5. Аудит всего компьютера

Именно здесь на помощь приходят такие программы, как SpaceMonger. Это приложение для ПК и его конкуренты WinDirStat и TreeSize сканируют жесткие диски и позволяют пользователям по-разному оценивать распределение памяти. Используя визуальный элемент Treemap, пользователи могут быстро увидеть, какие каталоги занимают больше всего места на диске, и углубиться в эти папки, чтобы даже обнаружить отдельные файлы, которые являются виновниками. Эти программы отлично подходят для поиска разрозненных файлов, которые портят вашу машину, например, кучи вложений электронной почты, когда вы купили дом в 2004 году.

На Mac DaisyDisk также разбивает хранилище на удобный для просмотра интерфейс, похожий на круговую диаграмму.

Шаг 6: Архив на внешний диск

После того, как вы изучите предыдущие шаги и все свои файлы, у вас будет отличное представление о том, что сковывает все одеяла на вашем компьютере. Хотя такие элементы, как ваши фото- и музыкальные библиотеки, по умолчанию хранятся на внутреннем жестком диске вашего компьютера, вы можете переместить их на внешние диски (по крайней мере, на Mac), предоставив остальной части вашей системы пространство для локтя, которое она должна перемещать, как Дорожный бегун, а не его злополучный противник.

питон — Почему рассол ест память?

Я пытаюсь иметь дело с записью большого количества маринованных данных на диск небольшими частями. Вот пример кода:

  из импорта cPickle *
из gc import collect

ПУТЬ = r'd: \ test.dat '
@профиль
def func (элемент):
    для e в элементе:
        f = открыть (ПУТЬ, 'a', 0)
        f.write (дампы (e))
        f.flush ()
        f.close ()
        дель ф
        собирать()

если __name__ == '__main__':
    k = [x для x в xrange (9999)]
    func (k)
  

open () и close () помещены внутри цикла для исключения возможных причин накопления данных в памяти.

Чтобы проиллюстрировать проблему, я прилагаю результаты профилирования памяти, полученные с помощью модуля сторонних разработчиков Python memory_profiler:

  Строка # Использование памяти Приращение Содержание строки
==============================================
    14 @profile
    15 9,02 МБ 0,00 МБ def func (элемент):
    16 9,02 МБ 0,00 МБ путь = r'd: \ test.dat '
    17
    18 10,88 МБ 1,86 МБ для e в элементе:
    19 10,88 МБ 0,00 МБ f = открыто (путь, 'a', 0)
    20 10.88 МБ 0,00 МБ f.write (дампы (e))
    21 10,88 МБ 0,00 МБ f.flush ()
    22 10,88 МБ 0,00 МБ f.close ()
    23 10,88 МБ 0,00 МБ del f
    24 собирать ()
  

Во время выполнения цикла происходит странный рост использования памяти. Как это можно устранить? Какие-нибудь мысли?

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

И более широкий вопрос — какие существуют способы правильно работать с большими объемами данных ввода-вывода в Python?

обн: Я переписал код, оставив только тело цикла, чтобы увидеть, когда именно происходит рост, и вот результаты:

  Строка # Использование памяти Приращение Содержание строки
==============================================
    14 @profile
    15 9.00 МБ 0,00 МБ def func (элемент):
    16 9,00 МБ 0,00 МБ путь = r'd: \ test.dat '
    17
    18 # для е в элементе:
    19 9,02 МБ 0,02 МБ f = открыто (путь, 'a', 0)
    20 9,23 МБ 0,21 МБ d = дампы (шт.)
    21 9,23 МБ 0,00 МБ для записи (d)
    22 9,23 МБ 0,00 МБ f.flush ()
    23 9,23 МБ 0,00 МБ f.close ()
    24 9,23 МБ 0,00 МБ del f
    25 9,23 МБ 0,00 МБ собрать ()
  

Вроде dumps () жрет память.(Хотя на самом деле думал будет писать ())

RAM против дискового пространства

RAM против дискового пространства

RAM по сравнению с памятью жесткого диска

Как RAM , так и память жесткого диска называются памятью, что часто вызывает путаницу. RAM означает Оперативная память. Физически это набор микросхем в вашем компьютере. Когда ваш компьютер включен, он загружает данные в RAM . Программы, которые в настоящее время выполняются, а открытые файлы хранятся в RAM ; Все, что вы используется, работает где-то в RAM .Как только электричество RAM вырезана, все забывает; вот почему несохраненный документ теряется, если компьютер зависает или происходит сбой питания. Когда вы сохраняете документ, который хранится на жестком диске или другом типе носителя. Как правило, этот тип хранилища является магнитным и не зависит от электричества. чтобы запомнить, что на нем написано. Однако он намного медленнее, чем RAM . Компьютер может получить доступ ко всему, что хранится в RAM почти мгновенно.Вещи на жестком диске необходимо найти, прочитать и отправить в RAM , прежде чем они можно обработать. Если ваш компьютер сообщает, что у вас мало места на диске, у вас тоже есть много программ или файлов на вашем компьютере. Чтобы исправить это, вам понадобится новый жесткий диск, или потребуется удалить неиспользуемые программы или удалить ненужные файлы выключить компьютер. Если ваш компьютер сообщает, что у вас мало памяти, значит, у вас тоже работает много программ, или на вашем компьютере нет необходимой ОЗУ для запуска программного обеспечения, которое вы хотите.Перезагрузка компьютера очистит ОЗУ и обычно устраняет 90% ошибок нехватки памяти. Если на вашем компьютере больше RAM чем минимальные требования программы, и перезагрузка компьютера не решить проблему, ошибка могла быть вызвана переполнением буфера или другим техническая проблема, выходящая за рамки данного руководства.


Панель управления сервера

Чтобы получить доступ к панели мониторинга сервера, выберите Домашняя страница AppDynamics> Серверы> Панель мониторинга .

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

  • Просматривать диаграммы ключевых показателей производительности для выбранных отслеживаемых серверов:
    • Доступность сервера
    • Процент использования ЦП, памяти и сети
    • Свойства сервера
    • Показатели диска, раздела и тома
    • Десять первых процессов, потребляющих ресурсы ЦП и память
  • Измените временной период отображаемых показателей.
  • Просмотр оценки общего состояния сервера на основе любых нарушений правил работоспособности. См. Просмотр состояния правила работоспособности в пользовательском интерфейсе.
  • Просмотрите иерархию или группировку сервера, как указано в controller-info.xml , используя свойство конфигурации machine-path.
  • Щелкните любую точку на графике, чтобы увидеть значение метрики для этого времени.
  • Отсортируйте диаграмму, используя любой из столбцов в качестве ключа сортировки.
  • Найдите и переключитесь на другие панели мониторинга сервера в раскрывающемся списке рядом с уровнем сервера.
  • Просмотрите совокупность первых десяти процессов по загрузке ЦП и десяти процессов с наибольшим объемом памяти.

Метрики панели мониторинга сервера

Идентификатор хоста, работоспособность, иерархия (

Верхняя панель )
  • Идентификатор хоста : это идентификатор сервера, уникальный для контроллера AppDynamics.
  • Health : показывает общее состояние сервера. Чтобы узнать подробности, наведите указатель мыши на значок здоровья; например, при наведении курсора на восклицательный знак (!) в красном поле появляется следующее: «На этом компьютере есть критические нарушения правил работоспособности в течение указанного диапазона времени.»
  • Иерархия : это произвольная иерархия для группирования серверов вместе, заданная свойством иерархии компьютеров.

Средняя нагрузка

Загрузка ЦП представлена ​​как среднее значение за последние 1 минуту, 5 минут и 15 минут. Загрузка ЦП — это процент использования ЦП процессами, которые в данный момент выполняются или ожидают запуска. Эти показатели отображаются в процентах на панели мониторинга сервера и масштабируются на 100 в обозревателе показателей.

Доступность

  • Доступность : процент времени, в течение которого машинный агент может взаимодействовать с контроллером. Машинный агент один раз в минуту отправляет информацию о доступности в виде контрольного сообщения в контроллер AppDynamics, чтобы указать, что агент активен. Контрольное сообщение может отображаться как доступное при сбое других функций машинного агента и сервера. Доступность указывает только на то, что машинный агент обменивается данными с контроллером, и не указывает на общее состояние функций внутри машинного агента.
  • диаграмма временных рядов : показывает тенденцию доступности Machine Agent с течением времени. Бывают ситуации, когда машинный агент может связываться с контроллером, в то время как другие функции машинного агента или процессы на сервере не работают. Не используйте метрику временных рядов для обозначения общей доступности сервера.

ЦП

  • Использование ЦП : Среднее использование ЦП в выбранном диапазоне времени.
  • # of Cores : Количество ядер для ЦП.
  • диаграмма временных рядов : показывает тенденцию процентной загрузки ЦП с течением времени.

Память

  • Установлено : Общий объем свободной и используемой памяти на сервере.
  • Использование памяти : процент используемой памяти.
  • Использование подкачки : Использование подкачки отслеживает использование файла подкачки. Файл подкачки позволяет операционной системе использовать пространство на жестком диске для имитации дополнительной памяти. Когда в системе не хватает памяти, она меняет местами часть ОЗУ, используемую бездействующей программой, на жесткий диск, чтобы освободить память для других выполняющихся программ.Когда простаивающая, выгруженная программа снова начинает выполняться, она перемещается обратно в ОЗУ, потенциально вытесняя какую-то другую неактивную программу. Это вызывает большое количество операций чтения и записи на жесткий диск, что может значительно замедлить работу системы.
  • график временных рядов : показывает тенденцию использования памяти во времени.

Сеть

  • Интерфейсы : Количество сетевых интерфейсов на сервере.
  • Исходящие : Килобайт данных, отправляемых в секунду для всех отслеживаемых сетевых устройств.
  • Входящие : килобайт данных, получаемых в секунду для всех отслеживаемых сетевых устройств.
  • диаграмма временных рядов : показывает динамику входящего и исходящего объема сети с течением времени.

Тома

  • Всего : Свободное и используемое пространство для хранения на диске, разделе или томе. Для систем Linux это не включает дисковое пространство, зарезервированное ядром.
  • Бесплатно : Общий объем доступной памяти.Для систем Linux это не включает дисковое пространство, зарезервированное ядром.
  • Использование (%) : процент используемого пространства для хранения на каждом диске, разделе и томе.
  • диаграмма временных рядов : показывает тенденцию использования хранилища во времени.

10 первых процессов, использующих ЦП

  • Счетчик : количество процессов в этом классе.
  • ЦП (%) : процент ресурсов ЦП, потребляемых всеми процессами этого класса.
  • Память (%) : процент памяти, потребляемой всеми процессами в классе.
  • PID : ID процесса.
  • PPID : идентификатор родительского процесса.

10 первых процессов, потребляющих память

  • Счетчик : количество процессов в этом классе, потребляющих ресурсы памяти.
  • ЦП (%) : процент использования ЦП всеми процессами этого класса.
  • Память (%) : процент памяти, потребляемой всеми процессами этого класса.
  • PID : ID процесса.
  • PPID : идентификатор родительского процесса.

Использование памяти на хосте

Особенности | Документация | База знаний | Дискуссионные форумы

Назад СОДЕРЖАНИЕ Последний Следующий

Использование памяти на хосте

Операционные системы хоста плохо себя ведут, когда им не хватает свободной памяти для собственного использования. Когда в хост-операционной системе Windows или Linux не хватает оперативной памяти для собственного использования, она «ломается» — она ​​постоянно меняет свои части между оперативной памятью и файлом подкачки на диске.Чтобы защитить себя от виртуальных машин, вызывающих перегрузку хоста, VMware Workstation вводит ограничение на общий объем оперативной памяти, которая может быть использована виртуальными машинами.

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

Совместное использование памяти

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

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

Совместное использование памяти VMware Workstation выполняется как фоновая операция, которая ищет возможности для совместного использования с течением времени. Объем сохраненной памяти может изменяться со временем; для довольно постоянной рабочей нагрузки сумма обычно увеличивается медленно, пока не будут использованы все возможности совместного использования.

Указание объема оперативной памяти, используемой всеми виртуальными машинами

Второй параметр конфигурации, который вы можете установить, — это объем оперативной памяти, который VMware Workstation может зарезервировать для всех работающих виртуальных машин вместе взятых. Чтобы установить этот параметр, перейдите в меню Edit > Preferences > Memory .

Параметр зарезервированной памяти указывает максимальный объем ОЗУ, который разрешено использовать VMware Workstation. Но эта память заранее не выделяется.Даже если несколько виртуальных машин работают одновременно, VMware Workstation может использовать только часть указанной здесь оперативной памяти. Любая неиспользуемая оперативная память доступна для использования другими приложениями. Если вся указанная здесь оперативная память используется одной или несколькими виртуальными машинами, операционная система хоста не может использовать эту оперативную память сама или разрешить другим приложениям использовать ее.

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

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

Рекомендуемый объем ОЗУ для всех работающих виртуальных машин рассчитывается на основе физической памяти главного компьютера и отображается в элементе управления зарезервированной памятью — Изменить > Параметры > Память . Если вы хотите, чтобы VMware Workstation использовала больше или меньше оперативной памяти, переместите этот ползунок, чтобы изменить количество.

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

Использование дополнительной памяти

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

Чтобы позволить запускать больше или больше виртуальных машин, вы можете настроить третий параметр — объем памяти виртуальной машины, которую операционная система хоста может переместить на диск. Чтобы изменить эту настройку, перейдите в меню Edit > Preferences > Memory и измените настройку дополнительной памяти. Выберите один из следующих переключателей:

  • Поместите всю память виртуальной машины в зарезервированное ОЗУ хоста — Строго примените ограничение зарезервированной памяти, установленное в верхней части панели.Этот параметр налагает самые жесткие ограничения на количество и размер памяти виртуальных машин, которые могут работать в данный момент. Поскольку виртуальные машины полностью работают в ОЗУ, они имеют максимально возможную производительность.
  • Разрешить подкачку некоторой памяти виртуальной машины. — Разрешить операционной системе хоста при необходимости переместить умеренный объем памяти виртуальной машины на диск. Этот параметр позволяет увеличить количество или размер памяти виртуальных машин, которые могут работать на главном компьютере в данный момент.Это также может привести к снижению производительности, если память виртуальной машины должна быть перемещена между ОЗУ и диском.
  • Разрешить подкачку большей части памяти виртуальной машины. — Разрешить основной операционной системе перекачивать столько памяти виртуальной машины на диск, сколько она хочет. Этот параметр позволяет запускать еще больше виртуальных машин с еще большим объемом памяти, чем промежуточный параметр. В этом случае производительность также может быть ниже, если память виртуальной машины должна быть перемещена между ОЗУ и диском.
  • Назад СОДЕРЖАНИЕ Последний Следующий

    Хранение | Прометей

    Prometheus имеет сложную локальную подсистему хранения. Для индексов он использует LevelDB. Для основной массы образцы данных, он имеет свой собственный уровень хранения, который организует образцы данных в кусках постоянного размера (полезная нагрузка 1024 байта). Эти затем фрагменты сохраняются на диске в одном файле для каждого временного ряда.

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

    Использование памяти

    Prometheus хранит в памяти все используемые в данный момент фрагменты. Кроме того, он сохраняет как можно больше самых последних использованных фрагментов памяти. Ты должен сказать Прометей, сколько памяти он может использовать для этого кеширования. Флаг storage.local.target-heap-size позволяет вам установить размер кучи (в байтах) Прометей не стремится превзойти. Обратите внимание, что объем физической памяти Сервер Prometheus будет использоваться в результате сложных взаимодействий Go время выполнения и операционная система, и их очень сложно точно предсказать.Как правило эмпирически, у вас должно быть не менее 50% запаса физической памяти по сравнению с настроенный размер кучи. (Или, другими словами, установите storage.local.target-heap-size до значения двух третей лимита физической памяти Прометей не должен превышают.)

    Значение по умолчанию для storage.local.target-heap-size равно 2 ГБ и, таким образом, адаптировано до 3GiB использования физической памяти. Если у вас меньше физической памяти, вы должны понизить значение флага. Если у вас больше доступной памяти, вы должны соответственно увеличьте значение.В противном случае Прометей не воспользуется память и, следовательно, будет работать намного хуже, чем мог бы.

    Поскольку Prometheus использует большую часть своей кучи для долговременного выделения памяти куски, целевой процент сборки мусора по умолчанию установлено значение 40. Вы все еще можете изменить эту настройку через GOGC переменная окружения как обычно. Если вам нужно сэкономить мощность процессора и вы можете согласитесь работать с меньшим количеством блоков памяти, попробуйте более высокие значения.

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

    ПРИМЕЧАНИЕ. До версии 1.6 не было флага storage.local.target-heap-size . Вместо этого количество блоков, хранящихся в памяти, нужно было настроить с помощью флаги storage.local.memory-chunks и storage.local.max-chunks-to-persist . Эти флаги все еще существуют по соображениям совместимости. Однако, storage.local.max-chunks-to-persist больше не действует, и если хранилище.local.memory-chunks имеет ненулевое значение x , он используется для переопределить значение storage.local.target-heap-size на 3072 * x .

    Использование диска

    Prometheus хранит данные временных рядов на диске в каталоге, указанном флаг storage.local.path . Путь по умолчанию — ./data (относительно рабочий каталог), что хорошо, чтобы быстро что-то опробовать, но, скорее всего, не то, что вам нужно для реальных операций.Флаг storage.local.retention позволяет настроить время удерживания образцов. Отрегулируйте его под свои нужды и ваше доступное дисковое пространство.

    Кодирование фрагментов

    Prometheus в настоящее время предлагает три различных типа кодирования фрагментов. Кусок кодировка для вновь созданных фрагментов определяется -storage.local.chunk-encoding-version Флаг . Допустимые значения: 0, 1, или 2.

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

    Тип 2 — это кодирование с переменной разрядностью, т.е.е. каждый образец в чанке может использовать другое количество бит. Метки времени тоже кодируются двойной дельтой, но с немного другой алгоритм. Существует ряд различных схем кодирования. доступно для образцов значений. Выбор производится по частям в зависимости от характера значений выборки (постоянное, целое, регулярно возрастающее, случайное…). Крупный части кодировки типа 2 вдохновлены статьей, опубликованной Facebook инженеры: Gorilla: быстрая, масштабируемая база данных временных рядов в памяти .

    Для типа 2 доступ к блоку должен происходить последовательно, а кодирование а стоимость декодирования немного выше. В целом, тип 2 приведет к большей загрузке ЦП и увеличенная задержка запроса по сравнению с типом 1, но предлагает значительно улучшенный степень сжатия. Точные цифры сильно зависят от набора данных и вид запросов. Ниже приведены результаты типичного производственного сервера с довольно дорогой набор правил записи.

    Тип блока байта на образец ядра продолжительность оценки правила
    1 3.3 1,6 2,9 с
    2 1,3 2,4 4,9 с

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

    Для получения дополнительных сведений о компромиссе между кодировками фрагментов см. это сообщение в блоге.

    Настройки для большого количества временных рядов

    Prometheus может обрабатывать миллионы временных рядов. Однако с указанным выше упомянутый параметр по умолчанию для storage.local.target-heap-size , вы будете ограничено примерно 200 000 временных рядов, одновременно присутствующих в памяти. Для большего серии, вам нужно больше памяти, и вам нужно настроить Prometheus для использования из него, как описано выше.

    Каждый из вышеупомянутых фрагментов содержит образцы одного временного ряда.А Таким образом, временной ряд представляется в виде серии фрагментов, которые в конечном итоге в файле временного ряда (по одному файлу на временной ряд) на диске.

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

    Количество блоков, которые Прометей может хранить в памяти, зависит от значения флага. для storage.local.target-heap-size и от объема памяти, используемой все остальное. Если не хватает кусков, которые можно выселить, чтобы удовлетворить цель размер кучи, Prometheus будет ограничивать прием большего количества образцов (пропуская царапины и оценки правил), пока куча не уменьшится в достаточной мере. с дроссельной заслонкой проглатывание действительно плохо по разным причинам. Вы действительно не хотите быть в та ситуация.

    Открытые блоки головы, блоки, все еще ожидающие сохранения, и блоки, которые используются в запросе не подлежат выселению. Таким образом, причины невозможности выселить Достаточно кусков, включая следующие:

    1. Запросы, в которых используется слишком много фрагментов.
    2. Чанки накапливаются в ожидании сохранения, потому что уровень хранения не может продолжать писать куски.
    3. Слишком много активных временных рядов, что приводит к слишком большому количеству открытых заголовков. куски.

    В настоящее время Прометей не имеет защиты от доводов (1).Оскорбительные запросы будут по сути OOM сервер.

    Для защиты от дела (2) объяснена концепция настойчивой срочности. в следующем разделе.

    Случай (3) зависит от целей, которые вы отслеживаете. Для смягчения незапланированного взрыва количества серий, вы можете ограничить количество образцов для каждого отдельного человека. очистить (см. sample_limit в конфигурации очистки). Если количество активных временных рядов превышает количество блоков памяти, Сервер Prometheus может себе позволить, сервер быстро ограничит прием данных, поскольку описано выше.Единственный выход из этого — дать Прометею больше ОЗУ или уменьшить количество временных рядов для приема.

    На самом деле вам нужно намного больше блоков памяти, чем у вас есть серии в объем памяти. Прометей пытается максимально увеличить объем записи на диск. помогает как для HDD (записывать как можно больше после каждого поиска), так и для SSD (крошечный записи создают усиление записи, что ограничивает эффективную пропускную способность и сгорает намного быстрее в течение всего срока службы устройства). Чем больше Prometheus может группировать записи, тем эффективнее процесс сохранения куски на диск.что помогает в случае (2).

    В заключение, чтобы поддерживать работоспособность сервера Prometheus, убедитесь, что на нем много запаса блоков памяти, доступных для количества серий памяти. А фактор три — хорошая отправная точка. Обратитесь к раздел с полезными метриками, чтобы узнать, что искать для. Очень широкое практическое правило для верхнего предела серии памяти: общая доступная физическая память, деленная на 10000, например О серии памяти 6M на сервере 64 ГБ.

    Если вы объедините большое количество временных рядов с очень быстрыми и / или большими царапин, количество заранее выделенных мьютексов для последовательной блокировки может не быть достаточный.Если вы видите икоту, пока Прометей пишет контрольную точку или обрабатывая дорогостоящие запросы, попробуйте увеличить значение storage.local.num-fingerprint-mutexes флаг. Иногда десятки тысяч или требуется даже больше.

    запросов PromQL, включающих большое количество временных рядов, будут интенсивно использовать индексы, поддерживаемые LevelDB. Если вам нужно запускать такие запросы, настройте могут потребоваться размеры кеша индекса. Актуальны следующие флаги:

    • -склад.local.index-cache-size.label-name-to-label-values ​​: Для обычных сопоставление выражений.
    • -storage.local.index-cache-size.label-pair-to-fingerprints : Увеличьте size, если у большого количества временных рядов одна и та же пара меток или имя.
    • -storage.local.index-cache-size.fingerprint-to-metric и -storage.local.index-cache-size.fingerprint-to-timerange : Увеличить размер если у вас есть большое количество заархивированных временных рядов, то есть рядов, которые не получены образцы через некоторое время, но они все еще недостаточно стары, чтобы их можно было очистить полностью.

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

    Постоянство срочности и «ускоренный режим»

    Наивно, Прометей все время пытался сохранить завершенный фрагмент на диске. как можно скорее.Такая стратегия привела бы к множеству крошечных операций записи, использует большую часть полосы пропускания ввода-вывода и сохраняет загруженность сервера. Спиннинг диски будут казаться очень медленными из-за большого количества требуемых медленных поисков, и SSD пострадают от усиления записи. Прометей вместо этого пытается сойтись как можно больше операций записи, что работает лучше, если разрешено используйте больше памяти.

    Prometheus также будет синхронизировать файлы серий после каждой записи (с storage.local.series-sync-strategy = adaptive , который используется по умолчанию) и используйте пропускная способность диска для более частых проверок (на основе количества «грязных» series », см. ниже), оба пытаются минимизировать потерю данных. в случае аварии.

    Но что делать, если количество блоков, ожидающих сохранения, слишком велико? Прометей вычисляет оценку срочности сохранения фрагментов. Оценка от 0 до 1, где 1 соответствует наивысшей срочности. В зависимости от оценка, Прометей будет писать на диск чаще. Если счет когда-либо преодолеть порог 0,8, Прометей переходит в «ускоренный режим» (что вы можете видеть в логах). В ускоренном режиме применяются следующие стратегии для ускорения постоянные блоки:

      Файлы серии
    • больше не синхронизируются после операций записи (для лучшего использования кеша страниц ОС за счет повышенного риска потери данных в случай сбоя сервера — это поведение можно отменить с помощью флага хранилище.local.series-sync-strategy ).
    • Контрольные точки создаются только так часто, как настроено через storage.local.checkpoint-interval флаг (освобождение дополнительной пропускной способности диска для сохраняющиеся фрагменты ценой большей потери данных в случае сбоя и увеличено время запуска последующего аварийного восстановления).
    • Операции записи в сохраняемые блоки больше не регулируются и выполняются как как можно быстрее.

    Прометей выходит из режима срочности, когда счет упал ниже 0.7.

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

    Настройки для очень длительного времени удерживания

    Если вы установили очень долгое время хранения через хранилище .local.retention flag (больше месяца), вы можете увеличить значение флага storage.local.series-file-shrink-ratio .

    Каждый раз, когда Прометею нужно отрезать несколько кусков в начале серии файл, он просто перезапишет весь файл. (Некоторые файловые системы поддерживают «head усечение », которое Прометей в настоящее время не использует по нескольким причинам.) не перезаписывать очень большой файл серии, чтобы избавиться от очень небольшого количества фрагментов, перезапись происходит только в том случае, если в файле серии удалено не менее 10% фрагментов.Этот значение может быть изменено с помощью упомянутого storage.local.series-file-shrink-ratio флаг. Если у вас много места на диске, но вы хотите минимизировать перезапись (в стоимость потраченного впустую дискового пространства), увеличьте значение флага до более высоких значений, например 0,3 для удаления 30% необходимого фрагмента.

    Восстановление после сбоя

    Прометей сохраняет фрагменты на диск как можно скорее после того, как они полный. Неполные фрагменты сохраняются на диск во время обычного контрольно-пропускные пункты. Вы можете настроить интервал контрольной точки с помощью флага хранилище.local.checkpoint-interval . Прометей создает контрольно-пропускные пункты чаще, если слишком много временных рядов находятся в «грязном» состояние, т.е. их текущий неполный блок заголовка не тот, который содержится в самой последней контрольной точке. Этот предел настраивается через флаг storage.local.checkpoint-dirty-series-limit .

    Более активные временные ряды для циклического перехода в целом к ​​большему количеству ожидающих блоков для настойчивости, что, в свою очередь, приводит к увеличению количества контрольных точек и, в конечном итоге, к большему количеству время, необходимое для установки контрольных точек.Существует очевидный компромисс между ограничением потеря данных в случае сбоя и возможность масштабирования до большого количества активный временной ряд. Чтобы не тратить большую часть пропускной способности диска на чекпоинт, вы должны увеличить интервал чекпоинта. Сам Прометей ограничивает время нахождения в контрольных точках до 50%, ожидая после каждого завершение контрольной точки, по крайней мере, столько же, сколько прошло предыдущая контрольная точка.

    Тем не менее, если ваш сервер выйдет из строя, вы все равно можете потерять данные, и ваше хранилище может быть оставлено в несогласованном состоянии.Следовательно, Прометей выполняет аварийное восстановление после некорректного завершения работы, аналогично запуску fsck для файловой системы. Подробности о катастрофе данные о восстановлении регистрируются, поэтому при необходимости вы можете использовать их для криминалистической экспертизы. Данные который не может быть восстановлен, перемещается в каталог с именем осиротевший (находится в storage.local.path ). Не забудьте удалить эти данные, если вам это больше не нужно.

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

    Повреждение данных

    Если вы подозреваете, что проблемы вызваны повреждением базы данных, вы можете принудительно выполнить аварийное восстановление, запустив сервер с флагом storage.local.dirty .

    Если это не поможет, или если вы просто хотите стереть существующие базу данных, вы можете легко начать все заново, удалив содержимое каталог хранения:

    1. Остановить Прометея.
    2. rm -r <путь хранения> / *
    3. Запустите Прометей.

    Полезные метрики

    Из метрик, которые Прометей раскрывает о себе, следующие: особенно полезно для настройки флагов и выяснения необходимых Ресурсы. Они также помогают создавать оповещения, чтобы вовремя узнать, есть ли Prometheus у сервера проблемы или он не работает.

    • prometheus_local_storage_memory_series : Текущее количество удерживаемых серий в памяти.
    • prometheus_local_storage_open_head_chunks : количество открытых блоков заголовка.
    • prometheus_local_storage_chunks_to_persist : количество блоков памяти которые все еще необходимо сохранить на диске.
    • prometheus_local_storage_memory_chunks : текущее количество удерживаемых блоков в памяти. Если вычесть два предыдущих, вы получите количество сохраняемых куски (которые можно удалить, если они в данный момент не используются запросом).
    • prometheus_local_storage_series_chunks_persisted : гистограмма числа чанков сохранялось на партию.
    • prometheus_local_storage_persistence_urgency_score : Оценка срочности как обсуждалось выше.
    • prometheus_local_storage_rushed_mode равно 1, если Прометей находится в состоянии «срочно». mode », иначе 0. Может использоваться для расчета процента времени Прометей в спешке.
    • prometheus_local_storage_checkpoint_last_duration_seconds : Как долго последний КПП занял.
    • prometheus_local_storage_checkpoint_last_size_bytes : Размер последнего контрольная точка в байтах.
    • prometheus_local_storage_checkpointing равно 1, а Прометей — контрольная точка, 0 в противном случае. Может использоваться для расчета процента времени Прометей устанавливает контрольную точку.
    • prometheus_local_storage_inconsistencies_total : Счетчик для хранения обнаружены несоответствия. Если он больше 0, перезапустите сервер для восстановление.
    • prometheus_local_storage_persist_errors_total : счетчик для постоянных ошибок.
    • prometheus_local_storage_memory_dirty_series : Текущее количество грязных серий.
    • process_resident_memory_bytes : Вообще говоря, физическая память занята процессом Прометея.
    • go_memstats_alloc_bytes : размер кучи Go (выделенные объекты в использовании плюс выделенные объекты, которые больше не используются, но еще не собраны мусором).

    Эта документация с открытым исходным кодом.

    Leave a comment