Ну, во-первых, прежде чем перейти к более подробному ответу. На первом снимке экрана размер пула без пейджинга (тип использования памяти ядра) составляет 1,3 ГБ. Это кажется необычно высоким, особенно в течение 30 минут после загрузки. Я думаю, я мог видеть, как NP Pool достигает такого высокого уровня после длительного использования или с программой, которая просачивалась как сито. В отличие от этого, мой пул NP обычно составляет от 100 до 200 мегабайт, а размер моего выгружаемого пула может достигать 400 или 500 (и это после того, как моя система работает без перезагрузки в течение нескольких недель).
Вы можете включить несколько дополнительных столбцов в диспетчере задач, щелкнув правой кнопкой мыши заголовки столбцов и выбрав выбрать столбцы. Следует добавить Working Set (private)
, Working Set (shared)
, Commit
, и NP Pool
. Я просканировал бы все ваши процессы от всех пользователей и увидел бы, есть ли у какого-либо из них пул NP более 256 КБ. Если вы видите какую-либо, особенно любую, которая значительно выше, это может быть источником проблемы или, по крайней мере, ее частью.
Ваш общий рабочий набор, объем физической памяти, используемой процессом, представляет собой комбинацию частного и общего рабочих наборов (WS). Private обычно больше для большинства процессов, но могут быть и такие, которые используют большее количество общих WS. Эти два, как правило, должны составлять общую сумму WS. Фиксация - это количество вашего рабочего набора, которое было передано в резервное хранилище (в большинстве случаев это файл подкачки Windows). Фоновые приложения часто имеют более высокий уровень Commit, чем WS, что указывает на то, что большая часть их выгружаемого пула была выгружена из памяти в файл подкачки (что вполне нормально для приложений для настольных компьютеров, которые были свернуты и некоторое время не использовались).
Non-Paged Pool - это память, которая не может и никогда не будет выгружена из физической памяти ... что фактически является вашим постоянным минимальным использованием физической памяти. Память NP Pool часто содержит программный код и критические разделы, которые должны находиться в физической памяти для правильного и безопасного поведения, специальные кучи и т. Д. Из 60 процессов, если все они имеют 256 КБ памяти NP Pool, тогда ваш абсолютный минимум использования физической памяти будет около 15 360 КБ. В большинстве случаев одно или два приложения могут иметь пул NP размером 256 КБ, в то время как в большинстве приложений их меньше, часто значительно меньше (или их нет). Крайне маловероятно, что система когда-либо выгрузит все рабочие процессы, поэтому не ожидайте, что использование памяти достигнет такого низкого уровня.
Наконец, смысл в том, чтобы иметь больше памяти, чтобы избежать необходимости перелистывать данные в расширенное пространство памяти (файл подкачки, файл подкачки) и из него на физическом диске. Пейджинг - это процесс, который включает перемещение блоков выделенной физической памяти, выталкивание одних на диск и перенос других в физическую память с диска. Пейджинг, чтобы быть простым, крайне нежелателен. Само по себе это не «плохо», но это может сильно снизить производительность, если это происходит слишком часто. Конечная точка увеличения общего физического ОЗУ в системе - позволить большему количеству процессов хранить больше своей фиксации в физической памяти (больший рабочий набор). Потребление памяти не является проблемой, и когда больше выполняющихся процессов используют больше памяти, общая производительность системы и производительность активных процессов обычно будут выше,
Windows управляет памятью для вас и автоматически подготавливает данные в и из памяти для вас и из файла подкачки. Если вы запускаете процесс, которому требуется 9 ГБ памяти, а ваша система уже использует 4 ГБ (из 12 ГБ), то система автоматически определит, каким процессам не требуется немедленный доступ ко всему их рабочему набору, и отобразит некоторые или все страницы. их выгружаемого пула, чтобы обменять их, чтобы освободить лишние 1 ГБ. Если вашему большому процессу в конечном итоге потребуется больше памяти, окна будут дополнительно сокращать рабочий набор других процессов, пока у него не будет достаточно свободного места для выделения нового запрошенного блока. Ваш большой процесс может в конечном итоге потреблять всю доступную память, кроме NP Pool и, возможно, некоторые дополнительные минимальные накладные расходы для периодически выполняющихся процессов, которые не позволяют Windows высвободить больше своего рабочего набора (т.е. е. у них есть ожидающие ошибки страницы, которые в противном случае Windows вывела бы из физической памяти, но, поскольку они запрашиваются, они не могут быть перемещены.)
Если процессу требуется больше памяти, чем ему разрешено (32-разрядные процессы обычно могут получить доступ к 2 ГБ, а некоторые чуть менее 4 ГБ с расширенными методами, в то время как 64-разрядные процессы обычно могут получать доступ к около 48 ГБ памяти каждый), тогда окна иногда пытаются виртуализировать свою память с пространством подкачки. Если 32-разрядное приложение хочет использовать максимально допустимое пространство 2 ГБ, но доступно только 1,2 ГБ, Windows зарезервирует все 2 ГБ в файле подкачки и перемещает собственные данные процессов в файл подкачки и из него по мере необходимости, чтобы Поддержка использования памяти приложения. Общее использование «памяти» в этом случае может оказаться больше, чем доступная физическая память, если использовать Total Commit. Обычно Total Commit будет максимально равен общему размеру файла подкачки, который при управлении системой обычно в 2-3 раза больше объема физической памяти. В твоем случае,
Один последний момент. В своем ответе вы сказали, что у вас 16 ГБ ОЗУ, тогда как диспетчер задач видит только 12 ГБ ОЗУ. Одна из двух вещей здесь. Либо ваша система действительно имеет только 12 ГБ ОЗУ, либо одна из ваших флешек не регистрируется должным образом. Если флешка (я предполагаю, что 4x 4 Гб флешки), это может быть плохо, может быть не совсем правильно сидит на вашей материнской плате, или ваша материнская плата может иметь проблемы с обнаружением памяти.
Чтобы проверить, является ли это последним, вы должны сначала обновить BIOS материнской платы до последней версии. У меня была похожая проблема ... мои шесть трёхканальных DDR3-флешек оперативной памяти (6x2 Гб) были хорошими, основываясь на индивидуальном тестировании каждого из них ... но моя материнская плата случайно решила не считать один или два из них время от времени, часто оставляя мне только 8 ГБ оперативной памяти. Обновление BIOS устранило проблему, и теперь у меня есть надежный доступ ко всем 12 ГБ памяти.