Windows 10, processo de 'Sistema' que retira quantidades massivas de RAM

79

Desde que atualizei para o Windows 10, meu sistema tem consumido RAM excessivamente

Eutenholidoumpoucoedeterminadoéprovávelqueummotoristavazandomemória.EntãopegueioKitdeDriverdoWindowseacompanheiousodamemóriacomopoolmon:

Noentanto,eurealmentenãoseicomoprocederdaqui.Oitemfoimarcadocomo"smNp" como o culpado desta questão? Como faço para ir até identificar o driver?

Eu tentei algumas coisas como "C: \ Windows \ System32 \ drivers > findstr / s smnp . " mas não retornou nenhum resultado. Eu também dei uma olhada no arquivo pooltag.txt e esta é a descrição que encontrei para ele:

Então, qualquer ajuda seria apreciada. Agradecemos antecipadamente.

    
por Nayncore 07.08.2015 / 06:17

3 respostas

15

Entrando em services.msc (via Win + R ) e desabilitar completamente o Superfetch resolve isso. Não tenho certeza se o Superfetch está quebrado a partir de agora ou se é "por design".

Além disso, aparentemente livrar-se do arquivo de paginação terá o mesmo efeito, mas a solução acima é uma aposta mais segura .

    
por 10.08.2015 / 01:24
91

Eu olhei para os rastreios xperf de vários usuários e aqui a função ntoskrnl.exe!SmKmStoreHelperWorker do Kernel começa a alocar memória.

(Cliquenaimagemparaampliar)

Eudescobriissoem sysinternals .

Eu perguntei à Microsoft sobre isso e a resposta é que isso ocorre por design. Está relacionado à compactação de memória do sistema.

Em o anúncio do Windows 10 Build 10525 , A Microsoft explicou um pouco :

In Windows 10, we have added a new concept in the Memory Manager called a compression store, which is an in-memory collection of compressed pages. This means that when Memory Manager feels memory pressure, it will compress unused pages instead of writing them to disk. This reduces the amount of memory used per process, allowing Windows 10 to maintain more applications in physical memory at a time. This also helps provide better responsiveness across Windows 10. The compression store lives in the System process’s working set. Since the system process holds the store in memory, its working set grows larger exactly when memory is being made available for other processes. This is visible in Task Manager and the reason the System process appears to be consuming more memory than previous releases.

Então, em vez de gravar dados de memória no arquivo de paginação, eles são compactados. E essa memória compactada é mostrada no processo do sistema.

A Microsoft também postou mais detalhes no hub interno. Winbeta criou um artigo que inclui mais detalhes.

Apparently, the reason for this happened to do with Microsoft choosing to suspended UWP apps when they were not in the foreground, very similar to some smartphone OS management. Windows 8 users understood (perhaps not) that if apps weren’t on screen, they wouldn’t run until the user switched back to them. The ‘all or nothing’ approach is being updated with Windows 10 introducing a layer between the pagefile and normal paging activity. Now, when faced with memory pressure issues, MM will determine which pages should be moved to the modified list in a process called trimming. The modified list is a secondary list of pagefiles backing up a list of standby pagefiles. A backup list is captured in case memory is reclaimed from the standby list by another process, and the original process comes looking for its page. Instead of all or nothing, Windows 10 MM will compress unused pages rather than writing them to disk. With less writing, the result should be fewer disk operations – thanks to the compression – and now more data can be stored in memory.

AccordingtotheWindowsteam,“Inpractice,compressedmemorytakesupabout40%oftheuncompressedsize,andasaresultofatypicaldevicerunningatypicalworkload,Windows10writespagesouttodiskonly50%asoftenaspreviousversionsoftheOS.”Ifallgoesaccordingtoplan,Windowsuserscouldbeexperiencingreducedwaitingtimesforalldevicesaswellasextendedlifespansonsystemsthathaveflash-basedharddrives.

DecompressionisalsosomethingWindows10isdesignedtodowell.Windows10isusingthecombinationofparallelizabilityandsequentialreadstoproducepagesintomemoryoncecalled.ThenewdecompressionshouldresultinaspeedierexperienceasWindows10issimultaneouslydecompressingdataandreadingitinparallelusingmultipleCPUs.OlderversionsofWindowsmayhavefeltsluggishbecauseofthetransferratesbetweenthedisk.

AMicrosofttambémlançouumVídeonocanal9,queexplicaorecurso.

CompactaçãodememórianoWindows10RTM
link

In this video Mehmet Iyigun spent some time discussing why the System process in Windows 10 is taking a bit more memory and why it's a good thing. A process taking more memory sounds like a bad thing - that is until I understood more about memory management, paging, and hard / soft page faults. Turns out that that the OS is doing some clever optimizations that allow your processes to trim some of the memory but not necessarily page it out to disk. Not only is the memory preserved in RAM, but it is also compressed - making hard page faults a more rare occurrence. The results should make for a snappier experience.

Nos últimos TH2 Builds, a Microsoft atualizou a descrição no gerenciador de tarefas e agora também mostra que o processo SYSTEM hospeda o compressed memory :

paraevitarconfusõessobreouso"alto".

Na Atualização do Aniversário do Windows 10, lançada em agosto de 2016, a Microsoft extraiu o Compression em um processo chamado pseudo Memory Compression para não confundir mais os usuários porque o SYSTEM possui um uso de memória tão grande:

MasparecequeoTaskmgrnãomostraesteprocesso,apenasoProcessExplorer/ProcessHackerécapazdemostrá-lo.OTaskmgrmostraapenasaquantidadedememóriacompactadanavisãogeral:

SevocêpassaromousesobreográficodememóriausadonoTaskmgr,veráumadicadeferramentaquemostraaquantidadededadosquesãocompactados.

Neste demo, 388MB são compactados para 122MB, então 267MB são salvos com a compactação.

    
por 07.08.2015 / 06:20
-1

Desativar o pré-buscador na chave de regedit: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters você provavelmente tem Enable Prefetcher com um valor de 2 ou 3 , então altere para 0

Em seguida, você precisa desativar Superfetch nos serviços

  1. Pesquise services.msc

  2. Encontre superfetch clique em properties e, em seguida, defina-o como disabled e pare o serviço também.

Eu faço estas etapas e quando estou jogando e normalmente usando PC e o processo system usa apenas 28k

    
por 20.08.2015 / 13:08