Мониторинг основных показателей приложений. Часть 1
Цель этой статьи — структурировать информацию и внести ясность в понятие мониторинга, а также описать методы мониторинга различных компонентов. Речь идет не о всеобъемлющем мониторинге, а о наблюдении за базовыми показателями различных продуктов, чтобы вовремя реагировать на возникающие проблемы
Общие положения
Общее понятие мониторинга можно условно разделить на мониторинг производительности и мониторинг состояния. К мониторингу производительности относятся в основном счетчики производительности со всеми их возможностями, в том числе функцией генерации оповещений. Что касается мониторинга состояния, или «здоровья» систем, то здесь в процессе наблюдения за объектом может применяться некая логика, а используемые методы сложнее, нежели простой опрос счетчиков. Сюда относится наблюдение за разного рода журнальными файлами, как системными, так и собственными файлами приложений, их обработка и выдача соответствующих сообщений или оповещений. Различного рода проверки состояния сервисов, открытости портов, доступности рабочих станций и серверов. В этом случае данные прежде всего попадают в базу данных, а затем, исходя из заданных граничных условий, генерируются оповещения. Наиболее целесообразным методом такого мониторинга я считаю использование скриптов powershell. При этом выход скрипта должен быть стандартизован, чтобы не усложнять внутреннее устройство системы хранения данных.
Базовый мониторинг
Эти счетчики можно использовать для базового мониторинга всех рабочих станций и серверов. Рассмотрим их более подробно.
Процессор
Прежде всего — \Processor\% Processor Time. Это основной показатель активности. Однако если наблюдать за ним, то делать это надо часто, допустим, раз в секунду. Сам по себе он ничего не показывает, однако, если параллельно изменяются % Privileged Time или Processor Queue Length, есть смысл обратить внимание и понаблюдать при помощи специальных утилит. Следующий важный счетчик — \Processor\% Privileged Time. Он показывает процентное время работы процессора в режиме ядра. В нормальном режиме это значение не должно быть высоким. Счетчик \Processor (_Total)\% User Time учитывает время работы процессора в режиме пользователя. Это не означает, что именно такое время процессор выделяет для пользовательских задач, поскольку пользовательские функции в конечном итоге могут обрабатываться в ядре. Но если основная часть времени уходит на работу в режиме ядра, то, вероятно, есть проблемы с драйверами или аппаратным обеспечением. Еще один важный счетчик, на который обязательно нужно обращать внимание, — \Processor\% DPC Time. Он показывает время, потраченное на обработку отложенных вызовов. При возникновении прерывания система передает управление обработчику прерываний, который, в свою очередь, должен максимально быстро выполнить необходимые действия, а основную, более тяжелую обработку отложить. При этом создается специальный объект ядра. Время работы этих объектов и учитывается данным счетчиком. Большое значение счетчика говорит о проблемах с драйверами или оборудованием. Обычно его показатель не превышает 5%. Если такое значение или выше сохраняется длительное время — это индикатор проблемы. \Processor (*)\% Interrupt Time совместно с предыдущим счетчиком позволяет выявлять неполадки в подсистеме обработки прерываний. Само прерывание должно обрабатываться очень быстро. Во время обработки прерывания процессор не переключается на другие прерывания и задачи, а значит, если он надолго застрянет в обработчике прерывания, возникнет впечатление, что система «подвисла». Таким образом, высокие значения этого счетчика — плохой признак.
Основным объектом исполнения кода являются потоки. Они же являются основными потребителями ресурсов процессора. Очередь процессора — это потоки, ожидающие, пока процессор освободится. После выполнения потока система передает процессор следующему в очереди. Таким образом, очередь постоянной длиной в два и более потока сигнализирует о повышенной нагрузке на процессор. Однако при анализе нужно учитывать и счетчик Processor\% Processor Time. Если его значения невысоки при наличии очередей, то это говорит о проблеме в логике самих потоков. К примеру, они много времени проводят на объектах ожидания. Это справедливо также и для многопроцессорных систем. Количество ожидающих потоков можно увидеть в счетчике \System\Processor Queue Length. Переключение контекста происходит, когда ядро переводит процессор с одного потока на другой. В частности, это бывает, если поток с более высоким приоритетом переходит в состояние готовности или рабочий поток переходит в режим ожидания операций ввода/вывода. Обычно большие значения говорят о том, что в системе существует слишком много потоков. Счетчик \System\Context Switches/sec позволяет заметить это. Увеличение количества переключений говорит об увеличении количества потоков. А нормально это или нет — судить вам в каждом конкретном случае. К примеру, если количество потоков растет, а загрузка процессора — нет, то можно предположить, что эти потоки простаивают и имеет место либо утечка, либо неверная логика приложения.
Операции подкачки
Следующая важная группа — счетчики, связанные с памятью и подкачкой. \Memory\Pages/sec — очень примечательный счетчик. Он показывает, сколько страниц в секунду было прочитано или записано в рамках обработки страничного прерывания. Это прерывание возникает, когда искомая страница памяти оказывается выгруженной на диск в данный момент. Однако в этот счетчик попадают и рабочие ситуации, связанные с кэшем и отображенными в память (memory-mapped) файлами. Поэтому по нему нельзя однозначно судить о недостатке памяти. Счетчик \Memory\Page Reads/sec можно использовать в дополнение к предыдущему. Он показывает, сколько операций чтения в единицу времени, безотносительно к страницам, было сделано при обработке страничных прерываний. Счетчики Memory\Pages Input/sec и \Memory\Page Reads/sec нужно рассматривать совместно. Первый из них содержит количество страниц, прочитанных с диска, а второй — количество операций чтения, совершенных при подкачке. Эти счетчики учитывают Hard Page Faults — операции обращения к памяти, при которых искомая страница данных не находится в физической памяти. Счетчик\Memory\Cache Faults учитывает промахи подсистемы кэширования. Таким образом, если \Memory\Pages/sec,\Memory\Page Reads/sec, Memory\Pages Input/sec постоянно находятся на высоком уровне, а \Memory\Cache Faults на низком, то можно предположить, что операционная система активно работает с файлом подкачки, что, в свою очередь, говорит о недостатке памяти. Однако если \Memory\Cache Faults тоже высок, то, скорее всего, ситуация вызвана активной работой с большими файлами, отображаемыми в память. Но это не должно длиться долго. Memory\Transition Faults/sec — значение данного счетчика показывает скорость, с которой обрабатываются так называемые soft faults — ошибки страниц, для разрешения которых не нужны обращения к диску. Количество Transition Faults равно количеству таких страниц.
Память
\Memory\Available MBytes — количество доступной процессам физической памяти. Уменьшение значений этого счетчика, сопровождаемое ростом \Memory\Pages/sec и \Memory\Page Reads/sec, может свидетельствовать о недостатке памяти. Постоянное и равномерное уменьшение счетчика указывает на утечку памяти в одном из приложений.
Счетчик \LogicalDisk (*)\% Free Space показывает процент свободного места на логических дисках. Это важно для тех дисков, на которых расположены постоянно растущие файлы данных, такие как базы данных MS SQL Server или журналы Exchange. LogicalDisk|PhysicalDisk\Avg и Disk Queue Length следят за количеством запросов, стоящих в очереди к диску. Считается, что если очередь к диску длительное время включает более двух запросов, это может быть индикатором проблемы.
Кроме того, следует иметь в виду, что нельзя дать каких-то однозначных рекомендаций по поводу граничных значений определенных счетчиков. Состояние системы в каждый момент зависит от используемого аппаратного обеспечения, питания, запущенных приложений и многого другого. Поэтому для вашей системы эти значения могут быть нормальными, а для другой системы, с другими нагрузками — нет. Но все же в некоторых случаях, для определенных счетчиков, можно ориентироваться на цифры (таблица 1).
| Таблица 1. Некоторые рекомендуемые граничные значения счетчиков |
![]() |
Мониторинг
В данном контексте следует различать службу как предоставляемую услугу и как компонент операционной системы.
Со стороны клиентов можно выделить такие службы:
Кроме того, необходимо осуществлять базовый мониторинг безопасности.
Стандартная сетевая инфраструктура на основе MS Windows обычно включает в себя:
В средних и крупных сетях дополнительно могут использоваться:
Кроме программных комплексов, могут применяться и аппаратные устройства, поддерживающие удаленный мониторинг посредством различных протоколов, таких как SNMP или WS-Management.
В Windows 2003 появилось понятие ролей, которые должен исполнять данный сервер. В Windows 2008 этот принцип расширен. Теперь роли стали очень важной частью конфигурации сервера. Эти роли приведены в таблице 2.
| Таблица 2. Роли сервера |
![]() |
Таким образом, для базового мониторинга имеет смысл объединять наблюдаемые объекты в «наборы», чтобы в дальнейшем можно было назначить один или несколько таких наборов какому-либо серверу, в зависимости от ролей, которые он исполняет.
Во второй части статьи мы рассмотрим сервисы, которые может предоставлять операционная система сама по себе, в базовой комплектации. А затем — дополнительные функции, такие как exchange и sql server.
Андрей Вернигора (eosfor@gmail.com) — системный администратор, ведет блог http://eosfor.blogspot.com. Имеет сертификаты MCSA, MCDBA, MCSE, MCT
Поделитесь материалом с коллегами и друзьями
Да ты гонишь! Почему на одних конфигурациях оперативка разгоняется выше, чем на других
Разгон памяти, дело добровольное. Как понять, от чего зависит разгон памяти, какие есть тонкости в подборе комплектующих и как «прогнать» память, чтобы было за нее не стыдно!
Изучение, анализ и подбор – три составляющих успеха в разгоне памяти. Чтобы начать разгонять память без погружения в пучины технических знаний, необязательно быть специалистом. Половина успеха зависит от платформы, вторая часть – это правильный выбор ранговости, количество модулей и частот памяти Kingston и HyperX.
Чипсеты Intel
Со стороны Intel производитель предлагает россыпь процессоров от начального до топового уровня — есть из чего выбирать. В качестве основы «синих» систем сейчас присутствует 2 поколения чипсетов и их возможности в плане разгона ЦП и памяти очень тривиальны. Официально Intel считает всего одну модель чипсета пригодной для разгона и это семейство Z 390/490. Все остальные проходят мимо.
Впрочем, из-за этого процесс выбора сведен к простому, казалось бы, выбору, но нет. С Z 390/490 все просто – определились с количеством интерфейсов, разъемов PCIe/USB и т.п. Нашли подходящую материнскую плату и купили. Зашли в BIOS или программу для разгона и попали в новый таинственный мир удивительных открытий. Если разгон не нужен, то покупаем любую подходящую плату. А с третьим вариантом притормозим. Хотя компания Intel официально и не признает разгон памяти на любых версиях чипсета за исключением двух ранее упоминавшихся, но производители стараются открыть пользователям скрытые возможности. В зависимости от модели могут быть доступны настройки (базовые или расширенные) таймингов памяти и делители (только ниже частоты, указанной в спецификации Intel для выбранного процессора). Например, некоторые удачные версии плат на чипсете B460/H470 все же наделены опциями по тонкой настройке таймингов памяти и форсировании режимов Turbo на процессорах, так называемая фиксация PL режимов (перевод работы процессора в постоянно поддержание турбо частоты).
Кстати, о доступных частотах памяти на младших B460/H410/H470: фактически, платы либо самостоятельно выставляют частоту памяти по спецификациям Intel (легко проверить, найдя интересующий вас процессор на сайте ark.intel.com и посмотреть на строку «Типы памяти»), либо при первой загрузке ставится минимальная частота согласно спецификации JEDEC (обычно все настройки поддерживаемых частот записаны в микросхеме SDP). Q470 – чипсет аналог Z490 по периферийным интерфейсам, но без разгона процессора. Оставшийся в списке W480 стоит особняком. Он поддерживает разгон памяти и можно выставить повышенные множители для Dram, однако в продаже плат с ним практически не найти.
Тонкости контроллера памяти и разводки плат
Если бы в компьютерном мире все было бы просто, то жить было бы легче! Увы, или к счастью, это не так. Помимо загрузки вашей головы типами чипсетов для разгона памяти важны и другие характеристики комплектующих. Начать стоит со второй составляющей и это контроллер памяти в процессоре. На последних 5 поколениях этот аппаратный блок напрямую связан с System Agent в ЦП и с шиной. Объективно, несмотря на постоянство в выборе тех. процесса (14 нм и различные улучшения +, ++, +++) компания постоянно улучшает их способности держать более высокие частоты без запредельно высоких напряжений. Вспоминая разгон памяти на процессорах от Kaby Lake до Comet Lake, нельзя отрицать тот факт, что процесс упростился, а финальные частоты выросли. Не последнюю очередь это связано с более тщательным подходом написания таблиц таймингов и субтаймингов в XMP комплектов памяти. Это серьезно упрощает алгоритм материнской платы по первоначально загрузке, хотя некоторые производители вносят либо слишком короткий список таймингов, забывая о вторичных/третичных, либо сильно повышают напряжение на контроллер памяти и системный агент. Такие действия приводят систему в нестабильное состояние, а часто повышенное напряжение перегревает процессор. Поэтому стоит внимательно подходить к выбору комплекта памяти. А помимо ранее озвученных составляющих разгона Dram чуть не упустили из виду правильность разводки слотов.
Топология
Для DDR4 обычно используют два вида разводки слотов — Daisy chain и T-topology.
T-Topology обладают редкие экземпляры материнских плат и приспособлены для лучшего разгона 4 модулей памяти. T-Topology разводка позволяет достичь частот более 4 ГГц сразу на 4 планках Dram, в то время как Daisy chain с 2 модулями добирается в руках пользователей до частоты более 4,5 ГГц.
Daisy chain – разводка оптимизирована для 2 модулей памяти. При условии удачного процессора и хорошо разгоняемой памяти лучше выбирать такие платы с 2 занятыми слотами Dimm. Второй вариант разводки косвенно можно отличить по рекомендациям производителей устанавливать память сначала в последние слоты, которые являются своего рода первыми в очереди в логической цепочке ответвлений от контроллера памяти.
Ранги
С топологиями разводки каналов разобрались, переходим к рангам памяти…
Ранг памяти — это блок или область данных, которые создаются с использованием нескольких или всех микросхем памяти в модуле. Ранг — это блок данных шириной 64 бита. Не стоит путать ранги с расположением микросхем памяти на текстолите. Результаты разгона памяти с двумя рангами довольно печальные, контроллеру памяти и шине тяжело справлять с четырьмя рангами. Максимум, что доступно — от 3466 МГц при CL14 до 3600 МГц при CL16. Единственный плюс от четырех рангов — это внушительный объем оперативной памяти и технология чередования рангами, которая увеличит производительность системы в играх. Узнать о количестве рангов можно из расшифровки модулей на сайте производителя, либо через утилиты Thaiphoon/Aida64/ CPU-Z.
В программе Thaiphoon легко определить производителя микросхем, организацию модуля памяти, ранговость и остальные параметры.
• Manufacturer – производитель микросхем;
• Die Density / Count – Емкость одной микросхемы в Гбитах и кодовое название. Его обычно используют в профильных форумах для ориентации среди различных версий микросхем. Обычно говорят Samsung B-die, либо Micron E-die;
• Composition – организация банков в одной микросхеме памяти (2048 Мбит*8=16 Гбит);
• Capacity – емкость всего модуля памяти, в скобках указано количество микросхем;
• Organization – в этом поле можно точно узнать ранговость вашей памяти (1/2 ranks);
Постепенно, начиная с конца 2019 года, Kingston переходит на использование 16 Гбит чипов памяти. Поэтому емкие комплекты Dram организуются из 16 Гбит микросхем с одноранговой адресацией, емкостью 16 ГБ и двухранговой 32 ГБ.
Промежуточный итог
Вкратце, для материнских плат с разводкой:
Daisy chain — лучший вариант для разгона 2 модулей памяти с одноранговой организацией, чуть хуже планки с двумя рангами. Следующая комбинация, состоящая из 4 Dimm с одним рангом, а далее с двумя рангами.
Для T-topology — для разгона подходят 4 модуля памяти с одноранговой организацией, но можно устанавливать 2 модуля с двумя рангами. Совсем неподходящая комбинация 2 или 4 модуля с двумя рангами.
По уровню разгона согласно мировой статистике: 8 Гб B-die > 8 Гб Micron Rev. E > 8 Гб CJR > 4 Гб E-die > 8 Гб AFR > 4 Гб D-die > 8 Гб MFR > 4 Гб S-die.
Чипсеты AMD

Легко выбрать, сложно разогнать! С платформой AMD AM4 все с одной стороны просто в вопросе выбора чипсета, а с другой — во много раз сложнее. Любой современный чипсет AMD поддерживает разгон памяти и процессора, даже сверхбюджетный A520. Другое дело, что некоторые производители материнских плат урезают в BIOS нужны пункты меню, например, редактор PBO режимов. Но в целом, начиная с B450 разгон возможен в полной мере.
О контроллере
Zen 2/3 поколения Ryzen оснащаются контроллером памяти, ведущий свою родословную со времен Bulldozer. Конечно, в него внесены изменения для DDR4, но контроллер построен на все том же 12-нм техпроцессе. В Zen 3 он не претерпел никаких изменений, однако благодаря новой компоновке ядер Zen 3 лишился одной промежуточной шины IF, что положительно сказалось на времени доступа к ОЗУ.
Почему же разгон на AMD сложнее и требует некоторого объема знаний?
Из-за использования специальной шины Infinity Fabric, которая связывает между собой отдельные блоки в процессоре, именуемые CCX. Infinity Fabric имеет свой собственный тактовый домен, который синхронизируется с физической частотой памяти. Начиная со второго поколения Zen получил дополнительный режим, когда частота IF принимает значение частоты памяти, а также 1/2 MEMCLK, который существенно увеличит частотный потенциал DRAM во время разгона. Идеальным режимом работы IF для максимальной производительности все еще остается соотношение 1:1. Не будем вдаваться в подробности, но для игр соотношение работы памяти и IF 1 к 1 дает несколько вариантов оптимальных частот – это 3600, 3800 МГц. В зависимости от удачи, если вам попадется счастливый билет вытянуть процессор со стабильно функционирующим IF в 4 ГГц, то можем вас поздравить, вы уникальный человек.
Разумным выбором для процессоров Ryzen 3ххх было и остается использование модулей памяти DDR4-3600 или DDR4-3733. Предельная частота шины Infinity Fabric составляла 1800-1867 МГц. Далее переключался делитель, который позволял разгоняться памяти выше, но дивидендов система не получала. Все это касается и новых Ryzen 5xxx серии. Происходит это потому, что вместе с IF синхронно увеличивается частота L3-кеша, тем самым поднимая пропускную способность внутри процессора.
О памяти для AMD
Теперь вы ознакомлены с нюансами работы контроллера памяти, шины IF и L3-кеша, а что же с выбором материнской платы. Как и ранее упомянутые топологии (Daisy chain и «Т»), для процессоров AMD производители выпускают оба типа плат с большим перевесом в сторону Daisy chain. Поэтому оптимальные рекомендации по памяти выглядят следующим образом:
Покупка одноранговой памяти в количестве 2 штук максимального объема для максимального разгона. Чипсет не важен, будь то B550 или Х470/570. Этот совет распространяется на 90% любых конфигураций с процессорами AMD. Совсем неоднозначные результаты разгона достигаются на двухранговых модулях памяти. В промежутке стоит комплект с четырьмя одноранговыми модулями. Завершает парад система с четырьмя двуранговыми планками памяти. Как определить топологию материнской платы под AMD? Спасибо, интернету, все за нас определено. Достаточно пройти по ссылке и найти интересующую материнскую плату.
Вернемся к подбору памяти исходя из топологии купленной материнской платы. Конечно, установив память в систему и запустив программу, мы со 100% уверенностью скажем, сколько рангов в нашей памяти. Но есть инструмент и проще, без покупки «кота в мешке». Заходим на страницу памяти, выбираем интересующие нас параметры (тайминги, цвет, объем, подсветку) и смотрим в описание. Для примера рассмотрим два комплекта Fury X объемом 32 Гб и 64 Гб.
64 ГБ комплект HyperX FURY DDR4 RGB, состоящий всего из 2 модулей создан в двухранговой конфигурации. Об этом нам сообщает надпись 2Rx8.

В случае с аналогичным комплектом, но объемом 32 ГБ организация планок превращается в одноранговый тип (1R). Вот такой простой способ определении рангов, используемых в памяти.
Программы, таблицы, алгоритмы помогающие разгонять память
Для платформы Intel
Не всегда память может стартовать с готовых настроек XMP, особенно высокочастотная. Поэтому сначала начните с применения профиля XMP, но на частоте 3200 МГц. В BIOS обязательно убираем MRC Fast boot. Запишите основные тайминги и откройте программу тайфун, чтобы узнать, с какими чипами имеете дело. Запустите TestMem5 и сделайте непродолжительный тест. Для уменьшения времени грубой настройки не ждите часами, при стабильности в несколько минут можно идти и снижать тайминги. Снижайте и изменяйте их по одному, выискивая нестабильные показатели. Обязательно записывайте значения, какие тайминги были нестабильными. Не пытайтесь выставить предельно низкие тайминги или высокую частоту памяти сразу. С двумя модулями и высокой частотой (более 4 ГГц) CR выставить на 2, если стоит 1. С 4 модулями сразу можно начинать тест на значении CR 2. Изменения таймингов лучше начать с CL и RCD. Многие чипы не «любят» синхронных значений, для них CL всегда будет меньше, чем RCD. RAS сразу пробуйте по формуле RCD+CL+4, до этого значения от него существенная разница, дальше влияние исчезает. CWL =RRD_S, CKE=5, СCDL>=4.
RDRD_DD и похожие значения требуют внимания при использовании всех 4 слотов Dimm. Значение определять опытным путем и тестированием. Это тонкие настройки для стабилизации работы всех 4 планок.
RDWR_SG(DG) и похожие пункты меню в BIOS опускайте до минимальных, но рабочих значений. Для стабильности сделайте +2 к ним.
RFC настраивать можно в самом конце. Его не нужно понижать или повышать сверх меры, просто найдите число в стабильном диапазоне, который обычно бывает от +20 до +40 пунктов от базового.
REFi требует подгонки с тестированием и стандартно проявляет себя по принципу больше — лучше. Находится в зависимости от значения RFC. Последнее описывает статус времени отдыха памяти, а первый – работы.
Тестируйте тщательно, в том числе на холодную и с перезагрузками.
• Asrock Timing Configurator 4.0.4 – просмотр таймингов;
• Asus MemTweakIt 2.02.44 — просмотр таймингов;
• TestMem5 — тест памяти на стабильность и ошибки;
Для платформы AMD
Открываем программу тайфун и смотрим, какие используются чипы памяти. Далее запускаем калькулятор DRAM Calculator for Ryzen и выбираем начальную частоту (начинать стоит с 3200 МГц) и ваши чипы памяти. В обязательном порядке проходимся по таймингам из калькулятора и вручную заносим их в BIOS’е. Скачиваем программы Ryzen Master, TestMem5, опционально Aida64. Ryzen Master нам понадобится для отслеживания таймингов и сопротивлений, TestMem5 для проверки стабильности, а Aida64 для быстрого и сравнительного замера производительности памяти. Если даже с частотой в 3200 МГц система не стартует, то меняем в большую сторону procodt и tRTP, перед этим tRFC2 и tRFC4 выставляем в автоматическом режиме. Успешное прохождение теста TestMem5 позволит вам выбрать два пути дальнейших действий: при небольшом количестве ошибок можно увеличить напряжение на памяти, при отсутствии пробуем поднимать частоту. По достижении частоты 3600 МГц советуем начать ужимать тайминги.
• DRAM Calculator for Ryzen – база готовых наборов для разгона и подбора таймингов памяти;
• ZenTimings — проверка первичных, вторичных и дополнительных таймингов памяти;
• AMD Ryzen Master – официальная программа от AMD для разгона процессоров и памяти;
• TestMem5 0.12 1usmus V3 config – тест памяти на стабильность и ошибки;
• Ryzen Timing Checker – проверка первичных, вторичных и дополнительных таймингов памяти;
Выводы
Разгон памяти – это хождение по минному полю без металлодетектора, основываясь только на собственной обостренном чутье. Чтобы сократить число минут, процесс стоит начинать с выбора правильной материнской платы, подходящего комплекта памяти и опыта других людей. Коллективный разум и десятки тысяч часов, проведенных в поисках оптимальных комбинаций настроек и параметров, плавно заполонили FAQ. Допустим, вы прекрасно понимаете, какие комплекты памяти подходят для daisy chain или Т-топологии материнских плат. Отличаете 1 и 2 ранговую память. Научились определять производителя микросхем, но немаловажно будет отметить существование QVL листов совместимости у производителей материнских плат. Однако, не найдя требуемого комплекта памяти, не расстраиваетесь. Опыт, ошибки, внимательность позволят вам через n-ное число часов найти те самые настройки, при которых и 2 различных комплекта Kingston (2 ранговых) общим объемом в 96 ГБ будут стабильно работать в неподходящей материнской плате.
Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
.jpg)
.jpg)














