Указанные объекты не найдены на этом компьютере for counter memory available bytes

Обновлено: 04.07.2024

Анализ загруженности оборудования для Windows

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

  • Все рабочие сервера кластера 1С:Предприятия
  • Сервер СУБД
  • Клиентские рабочие станции, работающие под большой нагрузкой

Для каждого из этих компьютеров необходимо настроить сбор информации по загруженности оборудования.

Сбор информации по загруженности оборудования

Во время работы системы рекомендуется осуществлять постоянный мониторинг и запись основных показателей загруженности оборудования. Для этого можно использовать разные средства, в данной статье будет рассказано, как это можно сделать с помощью Performance Monitor, входящего в состав операционной системы Windows, и ЦКК – Центра контроля качества, типовой конфигурации, входящая в Корпоративный инструментальный пакет.

Настройка сборка данных в Performance Monitor (Windows Server 2012 R2)

Для запуска Performance Monitor выберите соответствующий пункт меню раздела Administrative Tools контрольной панели Windows.

Добавьте в список наборов счетчиков (Data Collector Sets) новый набор (User Defined – пользовательский):


Настройка будет осуществляться вручную – в диалоговом окне нужно выбрать соответствующий пункт и нажать «Далее»:


Выберите, какие именно данные будут собираться. Нас интересуют Счетчики производительности:


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



Мы рекомендуем в обязательном порядке собирать данные по следующим счетчикам:

"\Processor(_Total)\Interrupts/sec"
"\LogicalDisk(_Total)\% Free Space"
"\Memory\Available Mbytes"
"\PhysicalDisk(_Total)\Avg. Disk Queue Length"
"\PhysicalDisk(_Total)\Avg. Disk Sec/Read"
"\PhysicalDisk(_Total)\Avg. Disk Sec/Write"
"\Processor(_Total)\% Idle Time"
"\Processor(_Total)\% Processor Time"
"\Processor(_Total)\% User Time"
"\System\Context Switches/sec"
"\System\File Read Bytes/sec"
"\System\Context Switches/sec"
"\System\File Read Bytes/sec"
"\System\File Write Bytes/sec"
"\System\Processes"
"\System\Processor Queue Length"
"\System\Threads"

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

"\Process("1cv8*")\% Processor Time"
"\Process("1cv8*")\Private Bytes"
"\Process("1cv8*")\Virtual Bytes"
"\Process("ragent*")\% Processor Time"
"\Process("ragent*")\Private Bytes"
"\Process("ragent*")\Virtual Bytes"
"\Process("rphost*")\% Processor Time"
"\Process("rphost*")\Private Bytes"
"\Process("rphost*")\Virtual Bytes"
"\Process("rmngr*")\% Processor Time"
"\Process("rmngr*")\Private Bytes"
"\Process("rmngr*")\Virtual Bytes"

Обратите внимание, что имена счетчиков могут незначительно отличаться в зависимости от версии вашей операционной системы

Рекомендуемая частота получения значений для рабочей системы – один раз в 15 секунд. В нагрузочных тестах рекомендуем собирать счетчики чаще, например, один раз в 1 секунду, т.к. длительность каждого непрерывного нагрузочного теста обычно не превышает десятка часов, а анализировать более детальные данные удобнее.По окончании выбора нажмите «Далее», укажите директорию хранения логов, при необходимости – пользователя, от имени которого будет запускаться процесс сборщика, и сохраните набор.

Откройте для дальнейшего редактирования его свойства (например, кликнув по нему в списке двойным щелчком мыши):


Можно выбрать формат файла логирования: бинарный удобен, если планируется анализировать графические данные, CSV – если планируется как-либо программно обрабатывать данные. В данном примере выбран бинарный.


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



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

После сохранения можно запустить замер (при помощи кнопки Start контекстного меню).

Команда создания набора будет выглядеть так:

logman create counter 1C_counter -f bincirc -c "\Processor(_Total)\Interrupts/sec" "\LogicalDisk(_Total)\% Free Space" "\Memory\Available Mbytes" "\PhysicalDisk(_Total)\Avg. Disk Queue Length" "\PhysicalDisk(_Total)\Avg. Disk Sec/Read" "\PhysicalDisk(_Total)\Avg. Disk Sec/Write" "\Processor(_Total)\% Idle Time" "\Processor(_Total)\% Processor Time" "\Processor(_Total)\% User Time" "\System\Context Switches/sec" "\System\File Read Bytes/sec" "\System\Context Switches/sec" "\System\File Read Bytes/sec" "\System\File Write Bytes/sec" "\System\Processes" "\System\Processor Queue Length" "\System\Threads" -si 5 -v mmddhhmm

Анализ сохраненного замера

Для просмотра данных откройте бинарный файл замера .blg, по умолчанию Windows откроет такой тип при помощи Performance Monitor:


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


Интерес представляют, как правило, среднее значение и «пики» - максимум / минимум в зависимости от смысла счетчика.

Ниже в таблице приведены описания и предельные значения некоторых из них:

Блог творческого ИТ-практика. Возьми свою мысль и дай ей ускорение идеи. В моем фокусе: сети, безопасность, виртуализация, web, мультимедиа.

А А Tuesday, 8 August 2017

Сбор сведений о производительности в Powershell.

Сбор сведений о производительности в Powershell выполняется командлетом Get-Counter.

Далее я цитирую отрывок из замечательной книги Станек Уильям Р. "Windows PowerShell 2.0. Справочник администратора".


get-counter "\\dbserver79\memory\available mbytes"
Timestamp CounterSamples
--------- --------------
2/27/2017 4:26:54 PM \\dbserver79\memory\available mbytes : 1675

Если вам доподлинно неизвестно название того или иного счетчика то его можно подсмотреть здесь


$c = Get-Counter -listset Память
$c.paths
get-counter -listset Память | foreach ($a)

При вызове командлета Get-Credential PowerShell запрашивает у пользователя учетные данные и записывает их в переменную $cred. В дальнейшем эти учетные данные используются для аутентификации на удаленных компьютерах. Чтобы отслеживать все счетчики объекта, введите вместо имени счетчика звездочку (*):
get-counter "\\dbserver79\Memory\*"


В этом примере отслеживаются все счетчики объекта Memory. Если объект существует в нескольких экземплярах, например Processor или LogicalDisk, следует указать нужный экземпляр. В этом случае синтаксис полного пути принимает следующий вид:
\\Компьютер\Объект(Экземпляр)\Счетчик

Экземпляр указывают в скобках после имени объекта производительности. Чтобы наблюдать сразу за всеми экземплярами, введите _Total как имя экземпляра, либо, если требуется определенный экземпляр, укажите его идентификатор. Например, для мониторинга счетчика Processor\% Processor Time у всех процессоров в системе можно использовать команду
get-counter "\\dbserver79\Processor(_Total)\% Processor Time"

либо, для мониторинга определенного процессора:
get-counter "\\dbserver79\Processor(0)\% Processor Time"


Эти команды анализируют данные из расположенного в текущем каталоге файла Data.txt, собранные за сутки между текущим временем сегодняшнего и вчерашнего дня. Чтобы получить список счетчиков, поддерживаемых объектом производительности, введите get-counter -listset, затем имя нужного объекта. Так, например, можно узнать, какие счетчики поддерживает объект производительности Memory:
get-counter -listset Memory
Counter: <\Memory\Page Faults/sec, \Memory\Available Bytes,
\Memory\Committed Bytes, \Memory\Commit Limit. >
CounterSetName : Memory
MachineName : EngPC85
CounterSetType : SingleInstance
Description : The Memory performance object consists of counters
that describe the behavior of physical and virtual memory on the
computer. Physical memory is the amount of random access memory on the
computer. Virtual memory consists of the space in physical memory and
on disk. Many of the memory counters monitor paging, which is the movement
of pages of code and data between disk and physical memory. Excessive
paging, a symptom of a memory shortage, can cause delays which interfere
with all system processes.
Paths: <\Memory\Page Faults/sec, \Memory\Available Bytes,
\Memory\Committed Bytes, \Memory\Commit Limit. >
PathsWithInstances : <>

Как и любые другие команды PowerShell, команды этого примера возвращают объекты, с которыми можно работать. Чтобы получить полный список счетчиков с указанием полного пути к каждому из них, опросить свойство Paths:
$c = get-counter -listset Memory
$c.paths
\Memory\Page Faults/sec
\Memory\Available Bytes
\Memory\Committed Bytes
\Memory\Commit Limit


либо используйте следующую команду:
get-counter -listset memory | foreach ($a)

Получить список счетчиков с учетом экземпляров объектов производительности позволяет свойство PathsWithInstances. Вот как с ним работают:
$d = get-counter -listset PhysicalDisk
$d.pathswithinstances

\PhysicalDisk(0 E: C:)\Current Disk Queue Length
\PhysicalDisk(1 W:)\Current Disk Queue Length
\PhysicalDisk(2 D:)\Current Disk Queue Length
.
\PhysicalDisk(10 Q:)\Current Disk Queue Length
\PhysicalDisk(_Total)\Current Disk Queue Length

Тот же самый результат даст и следующая команда:
get-counter -listset PhysicalDisk | foreach ($a)

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

Настройка максимального размера памяти для SQL Server

По умолчанию экземпляр SQL Server может со временем использовать большую часть памяти, доступной операционной системе Windows на сервере. После занятия памяти она не высвобождается, пока не будет обнаружена нехватка памяти. Такое поведение является нормальным и не свидетельствует об утечке памяти в процессе SQL Server. Чтобы ограничить объем памяти, который сервер SQL Server может использовать в своих целях, задайте параметр max server memory. Дополнительные сведения см. в статье Руководство по архитектуре управления памятью.

В SQL Server на Linux установить ограничение памяти можно с помощью средства mssql-conf и параметра memory.memorylimitmb.

Наблюдение за памятью операционной системы

Для отслеживания нехватки памяти используйте приведенные ниже счетчики Windows. Значения многих счетчиков памяти операционной системы можно запрашивать с помощью динамических административных представлений sys.dm_os_process_memory и sys.dm_os_sys_memory.

Память: доступно байтов
Этот счетчик указывает на то, сколько байт памяти доступно на данный момент для использования процессами. Низкие значения счетчика Доступно байтов могут указывать на общую нехватку памяти операционной системы. Это значение можно запросить с помощью T-SQL из sys.dm_os_sys_memory.available_physical_memory_kb.

Память: ошибок страницы/с Этот счетчик показывает частоту ошибок страниц для всех процессов, включая системные. Низкий, но не нулевой уровень выгрузки на диск (и вызванные ею ошибки страниц) является нормальным, даже если у компьютера достаточно большое количество доступной памяти. Диспетчер виртуальной памяти (VMM) Microsoft Windows берет страницы из SQL Server и других процессов по мере того, как он урезает размеры рабочих множеств этих процессов. Деятельность VMM может привести к ошибкам страниц.

Процесс: ошибок страницы/с Этот счетчик показывает частоту ошибок страниц для определенного пользовательского процесса. С помощью счетчика Процесс: ошибок страниц/с можно определить, вызвана ли повышенная активность диска подкачкой, выполняемой сервером SQL Server. Чтобы определить, является ли SQL Server или другой процесс причиной излишней подкачки, наблюдайте за счетчиком Процесс: ошибок страниц/с для экземпляра процесса SQL Server.

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

Изоляция памяти, используемой SQL Server

Для мониторинга использования памяти сервером SQL Server используйте приведенные ниже счетчики объектов SQL Server. Значения многих счетчиков объектов SQL Server можно запрашивать с помощью динамических административных представлений sys.dm_os_performance_counters и sys.dm_os_process_memory.

По умолчанию сервер SQL Server управляет требованиями к памяти динамически исходя из доступных ресурсов системы. Если SQL Server нужно больше памяти, он производит запрос к операционной системе, чтобы определить, доступна ли свободная физическая память, и использует ее. Если в операционной системе недостаточно свободной памяти, SQL Server будет освобождать память для операционной системы до тех пор, пока нехватка памяти не будет устранена или пока SQL Server не достигнет предела min server memory. Однако можно отказаться от динамического использования памяти, задав значения для параметров конфигурации сервера min server memory и max server memory. Дополнительные сведения см. в разделе Параметры памяти сервера.

Для мониторинга объема памяти, используемого SQL Server , наблюдайте за следующими счетчиками производительности.

SQL Server: Memory Manager: общая память сервера (КБ)
Этот счетчик показывает объем памяти операционной системы, выделенной в настоящее время серверу SQL Server диспетчером памяти SQL Server. Данное значение, как правило, увеличивается при повышении активности и растет после запуска SQL Server. Получить этот счетчик можно из столбца committed_kb динамического административного представления sys.dm_os_sys_info.

SQL Server: Memory Manager: память целевого сервера (КБ)
Этот счетчик показывает идеальный объем памяти для SQL Server в соответствии с рабочей нагрузкой за последнее время. Чтобы определить, выделен ли для сервера SQL Server оптимальный объем памяти, сравните это значение со счетчиком Общая память сервера по истечении некоторого периода работы со стандартной нагрузкой. Значения счетчиков Общая память сервера и Память целевого сервера должны быть примерно равны. Если значение Общая память сервера значительно меньше, чем значение Память целевого сервера, возможно, экземпляру SQL Server не хватает памяти. Через некоторое время после запуска SQL Server значение Общая память сервера возрастает. При этом значение Память целевого сервера должно быть больше, чем Общая память сервера. Получить этот счетчик можно из столбца committed_target_kb динамического административного представления sys.dm_os_sys_info. Дополнительные сведения и рекомендации по настройке памяти см. в статье Параметры конфигурации памяти сервера.

Процесс: рабочий набор
Этот счетчик показывает объем физической памяти, используемой процессом в настоящее время, согласно данным операционной системы. Обратите внимание на экземпляр этого счетчика для sqlservr.exe. Получить этот счетчик можно из столбца physical_memory_in_use_kb динамического административного представления sys.dm_os_process_memory.

Процесс: байт исключительного пользования
Этот счетчик показывает объем памяти операционной системы, запрошенный процессом для использования в собственных целях. Обратите внимание на экземпляр этого счетчика для sqlservr.exe. Так как этот счетчик учитывает все выделения памяти, запрошенные процессом sqlservr.exe, включая выходящие за пределы max server memory, его значение может превышать значение параметра max server memory.

SQL Server: Buffer Manager: страниц базы данных
Этот счетчик указывает число страниц с содержимым базы данных в буферном пуле. Память, не относящаяся к буферному пулу процесса SQL Server, не учитывается. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters.

SQL Server: Buffer Manager: коэффициент попаданий в буферный кэш
Этот счетчик относится только к SQL Server. Желательно, чтобы коэффициент был не меньше 90. Значение выше 90 указывает на то, что более 90 процентов всех запрошенных данных были получены из кэша данных в памяти без считывания с диска. Дополнительные сведения о диспетчере буферов SQL Server см. в статье SQL Server, объект Buffer Manager. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters.

SQL Server: Buffer Manager: ожидаемое время существования страницы
Этот счетчик измеряет, сколько секунд самая старая страница находится в буферном пуле. Для систем с архитектурой NUMA это среднее значение для всех узлов NUMA. Чем больше это значение, тем лучше. Его резкое падение указывает на постоянное обновление данных в буферном пуле, из-за которого рабочая нагрузка недостаточно эффективно использует данные, уже находящиеся в памяти. У каждого узла NUMA имеется собственный узел буферного пула. На серверах с несколькими узлами NUMA узнать ожидаемое время существования страницы для каждого узла буферного пула можно с помощью счетчика SQL Server: узел буфера: ожидаемое время существования страницы. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters.

Примеры

Определение текущего распределения памяти

Приведенные ниже запросы возвращают сведения о текущем распределении памяти.

Определение текущего объема памяти, используемого сервером SQL Server

Приведенный ниже запрос возвращает сведения о текущем использовании памяти сервером SQL Server.

Существует несколько решений, способных устранить эту проблему, и мы рассмотрим их в данной статье. Все из решений невероятно элементарны, так что проблем или сложностей при их выполнении быть не должно. В нижеуказанном материале мы просто будем ссылаться на Counter Strike, так как встречаться ошибка «Available memory less than 15MB» может возникать во многих ее версиях.

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

Устраняем ошибку «Available memory less than 15MB» при запуске Counter Strike


Решение №1 Переустановка Counter Strike/проверка целостности файлов

Если же ваша версия Counter Strike располагается там, где она и должна, т.е. в Steam, то вам нужно выполнить проверку целостности ее файлов. Выполнить это можно с помощью следующих шагов:

Если какие-то из файлов действительно не прошли проверку, то подождите пока они будут повторно загружены, а затем снова попробуйте запустить Counter Strike. При повторной загрузке файлом ошибка «Available memory less than 15MB», вероятно, будет устранена.

Решение №2 Установка необходимых библиотек

Установив всевозможные пакеты необходимых для большинства приложений библиотеки, попробуйте запустить Counter Strike и проверьте, была ли исправлена ошибка «Available memory less than 15MB». Стоит заметить, что данное решение довольно редко срабатывает в этом случае, но попробовать все же стоит.

Решение №3 Изменение версии Counter Strike(опционально)

Возможно, сменив версию CS, вы сможете избавиться от ошибки «Available memory less than 15MB». Да, данное решение далеко не для каждого игрока, так как зачастую нужна та или иная версия игры, но есть у вас есть возможность установить другую версию Counter Strike, то попробуйте это сделать. Кто знает, может ошибка «Available memory less than 15MB» была вызвана какой-то несовместимостью с вашей системой, установленным программным обеспечением и т.д. и т.п.

Решение №4 Эксперименты с совместимостью

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

Нажмите правой кнопкой мыши на исполнительный файл игры, который находится в ее корневой папке, и выберите «Свойства». Далее перейдите во вкладку «Совместимость». Тут вам и предстоит начать свои эксперименты с совместимостью. Если ваша версия Counter Strike довольно старая, например, 1.6 или Source, то можете попробовать выставить совместимость с Windows XP.

Стоит сказать, что ошибка «Available memory less than 15MB» зачастую связана именно с несовместимостью приложения и операционной системы.

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