(Виртуальная память) Windows 7 постоянно говорит «Системная память заканчивается» и закрывает программы / сбой игры

906
Noisemaker

Я заметил, что мой компьютер с Windows 7 x64 очень часто говорит, что системная память заканчивается. Это происходит, когда я одновременно открываю несколько «тяжелых» программ (например, Firefox со многими вкладками, фоторедактирование, CAD и т. Д.).

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

Сегодня я попытался запустить игру с большим объемом памяти (Black Ops 3) и с первой попытки (с открытым firefox) игра вылетела. Закрывающая игра Firefox запускается правильно, но через пару минут она снова вылетает. В обоих случаях окна ошибок показывают, что я обращаюсь к памяти. Даже в консоли игрового журнала было «OUT OF MEMORY» или подобное.

Я прочитал кое-что об этой проблеме относительно Файла подкачки. Я отключил его, потому что у меня есть 250 ГБ SSD.

Я надеюсь, что кто-то может мне помочь, потому что это очень расстраивает.

Вот некоторые детали оборудования / системы:

  • Процессор: Intel Core i7-930
  • Материнская плата (МБ): ASUS P6X58D PREMIUM (Intel X58 + ICH10R)
  • Оперативная память: 12 ГБ DDR3-1600 (трехканальная), разделенная следующим образом:
    • Corsair CM3X2G1600C8 (CL8) 3x2 ГБ - [слот: 1-3-5]
    • Corsair CMX6GX3M3A1600C9 (CL9) 3x2 ГБ - [слот: 2-4-6]
  • ОС: Windows 7 Профессиональная (x64)

Изменить : я добавлю больше информации, чтобы помочь. Я пытался воспроизвести ошибку, но у меня есть частичный успех. Вот результаты и информация:

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

Это журнал ошибок игры Black Ops 3, когда я запускаю его с запущенным Firefox. В зависимости от сбоя игры также потерпел крах Firefox.

Command line:  Error: Waited 102 msec for missing asset "debug_sphere_exterior". Error: Could not find material "debug_sphere_exterior". Error: Could not find material "debug_sphere_interior". Error: Could not find material "debug_sphere_exterior_nodepth". Error: Could not find material "debug_sphere_interior_nodepth". Error: Could not find material "postfx_dragonstrike". Error: Could not find material "logo". Error: Could not find material "mc/infrared_white". Error: Could not find material "mc/hud_outline_model_green". Error: Could not find material "mc/hud_outline_model_red". Error: Could not find material "mc/hud_outline_model_orange". Error: Could not find material "mc/hud_outline_model_white". Error: Could not find material "mc/hud_outline_model_green_alpha". Error: Could not find material "mc/hud_outline_model_red_alpha". Error: Could not find material "mc/hud_outline_model_orange_alpha". Error: Could not find material "mc/hud_outline_model_white_alpha". Error: Could not find material "mc/hud_outline_model_green_calpha". Error: Could not find material "mc/hud_outline_model_red_calpha". Error: Could not find material "mc/hud_outline_model_orange_calpha". Error: Could not find material "mc/hud_outline_model_white_calpha". Error: Could not find material "mc/hud_outline_model_z_green". Error: Could not find material "mc/hud_outline_model_z_red". Error: Could not find material "mc/hud_outline_model_z_orange". Error: Could not find material "mc/hud_outline_model_z_white". Error: Could not find material "mc/hud_outline_model_z_green_alpha". Error: Could not find material "mc/hud_outline_model_z_red_alpha". Error: Could not find material "mc/hud_outline_model_z_orange_alpha". Error: Could not find material "mc/hud_outline_model_z_white_alpha". Error: Could not find material "mc/hud_outline_model_z_green_calpha". Error: Could not find material "mc/hud_outline_model_z_red_calpha". Error: Could not find material "mc/hud_outline_model_z_orange_calpha". Error: Could not find material "mc/hud_outline_model_z_white_calpha". Error: Could not find material "mc/sonar_weakpoint". Error: Could not find material "mc/hud_outline_model_scriptint". Error: Could not find material "mc/hud_outline_model_alpha_scriptint". Error: Could not find material "mc/hud_outline_model_calpha_scriptint". Error: Could not find material "mc/hud_outline_model_z_scriptint". Error: Could not find material "mc/hud_outline_model_zonly_scriptint". Error: Could not find material "mc/hud_outline_model_z_alpha_scriptint". Error: Could not find material "mc/hud_outline_model_z_calpha_scriptint". Error: Could not find material "mc/sonar_frontend_normal". Error: Could not find material "mc/sonar_frontend_locked_gun". Error: Could not find material "mc/sonar_frontend_token_locked_gun". Error: Could not find material "fontcache". Error: Could not find material "fontcache_distfield". Error: Could not find material "fontcache_glow". Error: Could not find material "fontcache_outline". Error: Could not find material "fontcache_shadow". Error: Could not find material "lui_loader_no_offset". Error: Could not find weapon "killstreak_dogs_cp". Error: Could not find weapon "killstreak_emp_cp". Error: Could not find weapon "weapon_null_mp". Error: Could not find weapon "weapon_null_cp". Error: Could not find fx "_t6/impacts/fx_flesh_hit_neck_fatal". Error: Could not find fx "_t6/misc/fx_ui_flagbase_pmc". Error: Could not find fx "_t6/trail/fx_trail_blood_streak". Error: Could not find fx "_t6/weapon/riotshield/fx_riotshield_depoly_dust". Error: Could not find fx "_t6/weapon/riotshield/fx_riotshield_depoly_lights". Error: Could not find fx "killstreaks/fx_heli_chaff". Error: Could not find fx "lensflares/fx_lensflare_sniper_glint". Error: Could not find fx "player/fx_plyr_clone_reaper_appear". Error: Could not find fx "player/fx_plyr_clone_reaper_orb". Error: Could not find fx "player/fx_plyr_clone_vanish". Error: Could not find fx "player/fx_plyr_flashback_trail_impact". Error: Could not find fx "player/fx_plyr_rejack_light". Error: Could not find fx "player/fx_plyr_revive". Error: Could not find fx "player/fx_plyr_revive_demat". Error: Could not find fx "vehicle/fx_quadtank_airburst". Error: Could not find fx "vehicle/fx_quadtank_airburst_ground". Error: Could not find fx "weapon/fx_betty_light_blue". Error: Could not find fx "weapon/fx_betty_light_orng". Error: Could not find fx "weapon/fx_hero_pineapple_trail_blue". Error: Could not find fx "weapon/fx_hero_pineapple_trail_orng". Error: Could not find fx "zombie/fx_blood_torso_explo_zmb". Error: Could not find fx "animals/fx_bio_direwolf_eyes". Error: Could not find fx "dlc1/castle/fx_mech_dmg_armor". Error: Could not find fx "dlc1/castle/fx_mech_dmg_armor_face". Error: Could not find fx "dlc1/castle/fx_mech_dmg_body_light". Error: Could not find fx "dlc1/castle/fx_mech_dmg_knee_sparks". Error: Could not find fx "dlc1/castle/fx_mech_dmg_sparks". Error: Could not find fx "dlc1/castle/fx_mech_foot_step". Error: Could not find fx "dlc1/castle/fx_mech_foot_step_steam". Error: Could not find fx "dlc1/castle/fx_mech_head_light". Error: Could not find fx "dlc1/castle/fx_mech_light_dmg". Error: Could not find fx "dlc1/castle/fx_mech_wpn_flamethrower". Error: Could not find fx "dlc1/castle/fx_wpn_115_muz". Error: Could not find fx "dlc2/island/fx_spores_cloud_ambient_lrg". Error: Could not find fx "dlc2/island/fx_spores_cloud_ambient_md". Error: Could not find fx "dlc2/island/fx_spores_cloud_ambient_sm". Error: Could not find fx "dlc2/island/fx_thrash_chest_mouth_drool_1p". Error: Could not find fx "dlc2/island/fx_thrash_eye_glow". Error: Could not find fx "dlc2/island/fx_thrash_eye_glow_rage". Error: Could not find fx "dlc2/island/fx_thrash_pustule_burst". Error: Could not find fx "dlc2/island/fx_thrash_pustule_impact". Error: Could not find fx "dlc2/island/fx_thrash_pustule_reinflate". Error: Could not find fx "dlc2/island/fx_thrash_pustule_spore_exp". Error: Could not find fx "dlc2/island/fx_thrash_rage_gas_leg_lft". Error: Could not find fx "dlc2/island/fx_thrash_rage_gas_leg_rgt". Error: Could not find fx "dlc2/island/fx_thrash_rage_gas_torso". Error: Could not find fx "electric/fx_ability_elec_surge_short_robot". Error: Could not find fx "electric/fx_elec_warlord_damage_1". Error: Could not find fx "electric/fx_elec_warlord_damage_2". Error: Could not find fx "electric/fx_elec_warlord_lower_damage_1". Error: Could not find fx "electric/fx_elec_warlord_lower_damage_2". Error: Could not find fx "explosions/fx_exp_robot_stage3_evb". Error: Could not find fx "explosions/fx_exp_warlord_death". Error: Could not find fx "fire/fx_fire_ai_human_arm_left_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_arm_right_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_head_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_hip_left_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_hip_right_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_leg_left_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_leg_right_loop_optim". Error: Could not find fx "fire/fx_fire_ai_human_torso_loop_optim". Error: Could not find fx "light/fx_light_body_glow_warlord". Error: Could not find fx "light/fx_light_eye_glow_warlord". Error: Could not find fx "player/fx_plyr_ability_screen_blur_overdrive". Error: Could not find fx "player/fx_plyr_flashback_trail". Error: Could not find fx "player/fx_plyr_heat_wave_distortion_volume". Error: Could not find fx "player/fx_plyr_heat_wave_distortion_volume_air". Error: Could not find fx "player/fx_plyr_shock_field". Error: Could not find fx "player/fx_plyr_shock_field_1p". Error: Could not find fx "vehicle/fx_exhaust_jetpack_warlord_juke". Error: Could not find fx "zombie/fx_fire_torso_zmb". Error: Could not find fx "zombie/fx_margwa_head_shot_zod_zmb". Error: Could not find fx "zombie/fx_margwa_roar_purple_zod_zmb". Error: Could not find fx "zombie/fx_margwa_roar_zod_zmb". Error: Could not find fx "zombie/fx_margwa_teleport_intro_zod_zmb". Error: Could not find fx "zombie/fx_margwa_teleport_tell_zod_zmb". Error: Could not find fx "zombie/fx_margwa_teleport_travel_zod_zmb". Error: Could not find fx "zombie/fx_margwa_teleport_zod_zmb". Error: Could not find fx "zombie/fx_val_chest_burst". Error: Could not find tagfx "ability_hero_heat_wave_player_impact". Error: Could not find tagfx "gadget_flashback_3p_off". Error: Could not find fx "zombie/fx_val_motes_100x100". Error: Could not find weapon "smg_sten". Error: Could not find weapon "pistol_revolver38". Error: Could not find weapon "launcher_lockon".   Mem_Internal_MapPage failed 
0
Полученное вами сообщение указывает на то, что ваш файл подкачки слишком мал. Ошибка указывает, что вы исчерпали виртуальную память, а не физическую память. Пожалуйста, обновите ваши вопросы и предоставьте конкретные сообщения об ошибках. Утверждения типа «Даже в консоли игрового журнала было« OUT OF MEMORY »или подобное». затруднить отправку ответа. Ramhound 7 лет назад 2
Взгляните на [Оптимизация файла подкачки в Windows] (http://www.online-tech-tips.com/computer-tips/simple-ways-to-increase-your-computers-performace-configuring-the-paging -файл/) yass 7 лет назад 1
Я попытался воспроизвести ошибку прямо сейчас и добавил больше информации в основной вопрос. Я не могу понять, почему мне нужно использовать виртуальную память с 12 ГБ ОЗУ. В дополнение к этому, все веб-страницы о явном SSD говорят отключить виртуальную память, чтобы избежать износа диска, так что мне делать? Noisemaker 7 лет назад 1
Включите файл подкачки обратно! У тебя не хватает физической памяти. Вместо этого, без файла подкачки ваш размер Total Commit Charge недостаточно велик, чтобы вместить всю память, зарезервированную используемыми программами. Программы будут запрашивать ** больше памяти, чем они фактически используют **, и если Windows не может гарантировать, что все запросы могут быть удовлетворены, она ответит "нехватка памяти"; именно то, что с тобой происходит. Twisty Impersonator 7 лет назад 3
@Noisemaker Можете ли вы дать ссылку на любую из таких страниц, чтобы мы могли знать, чтобы избежать их, прокомментировать их, или иначе издеваться над их глупостью? David Schwartz 7 лет назад 2
@ Noisemaker, советую вернуть виртуальную память к настройкам по умолчанию. Затем откройте все приложения и все вкладки, которые вы можете открыть одновременно. Windows узнает, сколько виртуальной памяти необходимо оставить доступным, и вам больше никогда не придется трогать настройки. Christopher Hostage 6 лет назад 0

1 ответ на вопрос

4
Jamie Hanrahan

Во-первых, позвольте мне сказать, что вы не одиноки. Это почти наверняка самый распространенный вопрос в области «Windows» + «Память» здесь. Он вполне может быть в первой десятке по всему SuperUser. И я обвиняю Microsoft в том, что она не объясняет ничего хорошего, не использует правильные, непротиворечивые имена для метрик на нескольких дисплеях и не предоставляет простой для поиска и отслеживания ответ на этот вопрос, несмотря на его «популярность».

Короче, твоя путаница понятна, даже ожидаема. Это не твоя вина.

Быстрый ответ

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

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

Я отключил его, потому что у меня есть 250 ГБ SSD.

Извините за грубость, но это не имеет никакого смысла. Если бы вы сказали «... потому что у меня 64 ГБ ОЗУ», это имело бы смысл. Может быть. Но наличие SSD не означает, что вам не нужен файл подкачки.

Даже наличие 64 ГБ ОЗУ не гарантирует, что вам не нужен файл подкачки!

Это сообщение об ошибке на самом деле говорит вам, что вам абсолютно необходим файл подкачки. (Или больше оперативной памяти ... или вам нужно запускать меньше и меньше или меньше).

Да, я знаю. Вы не хотите помещать файл подкачки на свой SSD. Я рассмотрю это в конце.

Когда он говорит «из памяти», это не означает, что вы думаете, что означает

Это сообщение об ошибке выдается из-за нехватки памяти, называемой «Commit Limit». «Зафиксированный», или, скорее, «частный заем», чтобы дать ему полное имя, является типом виртуальной памяти в Windows. Вы, вероятно, знаете, что содержимое «виртуальной памяти» находится либо в ОЗУ, либо, если для него не хватает места, часть его хранится на диске (или SSD). Для "частной выделенной виртуальной памяти" место на диске хранится в файле подкачки. Если у тебя есть.

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

Что делать, если у вас нет файла подкачки? Ваши программы все еще могут создавать частную выделенную виртуальную память. Но затем вся выделенная виртуальная память, которая была записана с момента ее первого выделения, должна постоянно оставаться в ОЗУ ... до тех пор, пока она не будет освобождена (обычно путем завершения процесса, который ее создал) ... Потому что Windows больше нет места для Оставь это.

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

Если вы посмотрите на Диспетчер задач, вкладка «Производительность» в Windows 7, вы увидите индикацию, которая выглядит следующим образом:

Commit (MB) 893 / 4095

Это говорит о том, что мой объем закачки составляет 893 МБ, а мой предел закачки составляет 4095 МБ, т.е. 4 ГБ. (Это с виртуальной машины под управлением Windows 7. Она имеет 2 ГБ «ОЗУ» и файл подкачки 2 ГБ - таким образом, предел фиксации составляет 4 ГБ.)

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

Обратите внимание, что вы видите это сообщение только после того, как запрос «commit» уже был предпринят и потерпел неудачу. Поэтому, когда вы смотрите на диспетчер задач, причина проблемы может быть не очевидна.

Предположим, у вас осталось 1 ГБ лимита, и что-то пытается выделить 1,5 ГБ за один вызов. (Это необычно, но это может случиться.) Диспетчер памяти отклонит запрос, и вы увидите всплывающее окно. Но затем, когда вы посмотрите на диспетчер задач, вы все равно увидите, что ваш коммит был прежним, а 1 ГБ по-прежнему не используется! Смешение. В диспетчере задач, мониторе ресурсов или даже в системном мониторе нет ничего, что сообщало бы вам, сколько было запрошено.

(Инструмент «Монитор процессов» с сайта sysinternals.com может помочь здесь.)

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

Обратите внимание: всякий раз, когда вы говорите о «памяти» в Windows, вы всегда должны определять ее - вы говорите о «виртуальной памяти» или «физической памяти»? Многие люди говорят «память», когда они могут иметь в виду либо. И многие люди говорят «RAM», когда действительно говорят о виртуальной памяти. Это только добавляет к путанице у всех.

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

Но у меня много оперативной памяти!

Я не могу понять, почему мне нужно использовать виртуальную память с 12 ГБ ОЗУ.

Это совершенно понятный вопрос. И очень распространенный. И снова я обвиняю Microsoft в том, что она ничего не объясняет.

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

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

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

Итак, что вы на самом деле спрашиваете: почему у вас заканчивается лимит коммитов, если у вас 12 ГБ ОЗУ?

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

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

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

Теперь забавная вещь: когда процесс выделяет выделенную память, он фактически не использует оперативную память, равную выделенному количеству. Потому что это виртуально, помнишь? На самом деле для фиксации виртуальной памяти требуется очень мало ОЗУ, даже без файла подкачки. Это просто говорит, что «я» может «захотеть» использовать до «этой» много выделенной виртуальной памяти. Windows, можете ли вы пообещать («зафиксировать») мне, что это будет доступно, даже если я буду использовать все это? "

Только до тех пор, пока программа действительно не выполнит запись в эту выделенную память - получая доступ к ней и, таким образом, вызывая сбои страниц - ОЗУ фактически отключается от «доступного» счетчика и добавляется к «используемому». Это происходит постранично. Если вы записываете до 10 страниц (по 4 КБ каждая) в выделенном регионе, это будет использовать 10 страниц (40 КБ) оперативной памяти.

(Это может произойти, если вы тоже читаете с него, но не имеет смысла читать с недавно выделенной виртуальной памяти, прежде чем писать в нее.)

Очень часто программа никогда не получит доступ ко всем частным виртуальным машинам, которые она зафиксировала, и в этом случае используемая оперативная память не будет равняться сумме зафиксированного объема. (А в системе с файлом подкачки некоторые «зафиксированные» вещи могут быть перемещены в файл подкачки, чтобы освободить место в ОЗУ для других вещей ... еще больше сократив объем ОЗУ, используемый зафиксированным регионом.)

Но у Windows нет возможности узнать, сколько из выделенного региона будет использовано; при распределении у него нет другого выбора, кроме как предположить, что я «могу» фактически использовать все это. Это означает, что для хранения всего этого потребуется всего 1 ГБ фактического хранилища (возможно, некоторые из них находятся в файле подкачки, а остальные - в ОЗУ).

Таким образом, он не может удовлетворить этот запрос, если все текущие выделения «коммитов» вместе с новым не будут меньше предела коммитов.

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

Для получения дополнительной информации (как будто это уже не было достаточно долго)

Более подробно об этом, объясненном несколько другими способами, см. Два других моих ответа: здесь (дольше) используется аналогия «ссуды из банка», которую некоторые люди сочли эффективной. у этого (намного дольше) есть более формальное объяснение того, что происходит внутри ОС. Часто представление одной и той же концепции несколькими различными способами поможет вам преодолеть препятствие.

О файле подкачки против SSD

Это побочный вопрос, поэтому я перенес его сюда ...

все веб-страницы о явном SSD говорят отключить виртуальную память, чтобы избежать износа диска

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

Нужно ли размещать файл подкачки на SSD?

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

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

Pagefile.sys читает больше, чем pagefile.sys пишет примерно в 40 к 1,

Размер чтения Pagefile.sys обычно довольно мал: 67% меньше или равно 4 КБ и 88% меньше 16 КБ.

Записи Pagefile.sys относительно велики: 62% больше или равны 128 КБ, а 45% составляют ровно 1 МБ.

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

Вот еще один удивительный факт: даже если вам может понадобиться файл подкачки, чтобы система могла удовлетворить эти запросы, на самом деле в файл подкачки может быть записано очень мало, может даже ничего! Опять же, это потому, что обычно существует большая разница между тем, сколько виртуальной памяти выделяется и сколько фактически используется. Под используемым мы подразумеваем «записано, и страницы ОЗУ назначены соответственно». В файл подкачки всегда попадет только частный коммит vm, которому фактически написано. Большинство современных систем (таких как ваша, с 12 ГБ ОЗУ) не очень часто пишут и читают файл подкачки. Тем не менее, файл подкачки часто необходим для успешного размещения виртуальных выделений. И, возможно, это заставит вас задуматься о том, чтобы поместить его на свой SSD.

Очень хорошо ответил. ОП может быть полезно более четко указать, что программы факта запрашивают ** больше ** виртуальной памяти, чем они обязательно будут использовать. Кто-то, глядя на систему с 12 ГБ ОЗУ, из которых 6 ГБ «доступно», может не понять (или понять, почему) запущенным программам выделено всего 11 ГБ выделенной виртуальной памяти. Twisty Impersonator 7 лет назад 0
Я думал, что был откровенен в этом, но я подумаю, как это подчеркнуть. Может быть, с демо. Jamie Hanrahan 7 лет назад 0
Демо сделает этот и без того отличный ответ еще лучше. Эта тема сбивает с толку даже опытных пользователей Windows. Twisty Impersonator 7 лет назад 0
Коммит AFAIK не должен быть записан («изменен») для подсчета; Достаточно одного акта запроса фиксированной памяти. И я не согласен с битом «если у вас нет 64 ГБ» - независимо от того, сколько у вас есть, неэффективно резервировать ОЗУ только для фиксированного, но не модифицированного, когда его лучше использовать в качестве дискового кэша. Ну, большую часть времени, но если у вас действительно есть особые требования, иначе вы бы уже знали. В противном случае отличный ответ, как всегда. Bob 7 лет назад 1
@Bob Re «записано», да, это было «запутанное» редактирование. Он должен быть доступен для фактического использования хранилища, но не для учета комиссии за фиксацию. «64 ГБ» был просто примером числа для того, что многие посчитали бы «достаточно, чтобы не было файла подкачки». Также ++ позволяет больше оперативной памяти для дискового кэша. Все исправлено, я думаю. Спасибо! Jamie Hanrahan 7 лет назад 0

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