我用的是win7,每次運行大型軟體時,360都會提示已經為我釋放400多MB內存,這是什麼意思?

window 內存管理太失敗,還要360輔助釋放空間?還是360隻會顯示一個數字,告訴我,我安裝了的360是有幹活的?


內存里是會存一些Cache的,雖然不是馬上會用到,可是「有可能用到」,那麼你內存還有剩放著也是放著,Cache就放在裡面不動了,反正你內存還沒爆,也就不釋放了。

放張我的一個CentOS 伺服器上的Memory Usage的日監控圖,實際內存使用也就100多點,我有必要讓剩下的400M內存全部變成unused狀態嗎?顯然沒有,因為內存放著也是放著,放些可能有用的東西也好。

實際可用有364MB,但是MEM顯示的free只有256MB。

Windows也是基本同理。

甚至Windows雖然任務管理器顯示還有3.1GB可用,可是實際真正unused的只有79MB,資源監視器里的3041MB備用內存,實際上是作為SuperFetch的Cache,而在正在使用的2937MB內存里,還有各種應用程序和系統的Cache。為什麼用這麼徹底用到6GB內存只剩79MB?因為內存就是拿來用的,用了的才能轉化為性能,沒用的話,就和拔掉一根內存沒差。有關SuperFetch的機制大家可以自行搜尋資料,反正也是充分利用內存來加速系統的一個服務,就算是我這樣的SSD用戶,也不會關掉這個服務。 360就是把這些Cache清掉,一般有一些還會回到Disk(上圖中的51MB已修改必然會回到Disk,正在使用中進程的Cache的一部分也會回到Disk),如果你是HDD,清理一下會讓你電腦卡爆那麼一會兒。如果你是SSD,那麼壽命會掉一點點(當然,一般人用SSD壽命是夠用的,在我手裡就說不準了)。而下次要用到這些數據的時候,還得從Disk讀取。Disk性能非常糟糕(對比內存),特別是小文件讀取,因此清理完內存如果還需要用到那些被清理掉的Cache,就需要再從Disk上讀取,如果是SSD,電腦性能表現就被降低了一個檔次;如果是HDD,那電腦性能表現就降低了幾十個檔次。

像大家都知道Vista/Win7/Win8都是要求至少1GB內存的,那麼4GB內存和1GB內存都能裝上,可是1GB內存的裝上Win8後開機只佔用了600MB內存,而4GB內存的開機要佔1.2GB內存。吃掉的內存哪裡去了?蒸發掉了嗎?還是說Microsoft是傻逼?顯然不是。Microsoft、Google都不知道要比Qihoo高到哪裡去了!不過Qihoo這樣做抓住了小白的心,附贈我所知道的一些小白的典型看法:

  1. 顯存,越大性能越好,這是判斷顯卡性能的唯一指標,雙敏狂牛,秒泰坦無壓力。
  2. CPU,肯定核心越多、主頻越高越好。AMD就是業界第一,不知道Intel這個垃圾是怎麼活下來的,速龍II X4 750K全方位干翻I7 4770K沒有意見吧?
  3. 內存剩越多,電腦越快!
  4. 你買個硬碟才128GB居然花了800,肯定被人騙了,我的500GB,比你的好太多了,也就300多
  5. 不寫太多免得跑題……

你內存又還沒爆,在裡面放些提高效率的數據為什麼要清掉呢?

而且當你跑大軟體內存不夠的時候,系統自然會把Cache清退,完全不用你來操心。無論是Windows、CentOS,還是Android都是如此(Android的Running Services可能按需求需要清理,但是Cached Processes則不需要,而一般的Android清理軟體都是清理後者)。

最後題外話說一下安卓,像這種1GB 迷你內存的低端安卓手機,如果清理127MB里的Cached Processes,那完全沒有必要,因為Cache本來就是被標記為可用的。(一般的清理軟體都是清理這些,可以提高軟體再載入速度,並且有App allocate memory的時候可以隨時釋放)如果清理Running Services,那不行,那是必須使用的應用,一清理就會死。如果你想清理那545MB里系統用的那部分甚至硬體使用的那部分不顯示的352MB內存,目前清理大師們暫時還辦不到。


後者正確。360 就只是刷存在感而已。

你真當微軟那麼多工程師是白拿錢的?

Update: 鑒於下面評論反對,我來補充一下:360 確實清除了內存。那部分被清除的內存本來是空著沒用的,系統自動從硬碟讀取了系統認為必要的文件放在空著的部分內存里來為系統加速(同時也避免了資源浪費),當內存不夠的時候這一部分會自動被清除,讓出來供軟體使用,所以這一過程對用戶完全沒有影響。360 清除這一部分內存以後看起來可用空間是大了,但是系統運行就會變慢。


防止小白看不得 @林燦斌的答案(其實無可指摘),寫一個答案:

以下都以Windows舉例,Linux估計一般人用不到,一句話就能寫完。

假設你的電腦是的書房。你坐在寫字檯(沒有電腦,否則就成遞歸了,2333)前面要做什麼事情。

你的普通硬碟就是書櫃:容量大,但是你得起身走到前面去,打開門,慢慢找,拿回來,坐在寫字檯前面看。慢啊。

SSD是你寫字檯的抽屜。快了點,但是特別經常用滑道受不了(SSD壽命沒有普通硬碟長,但是一般人用不壞)。

內存是你寫字檯上面放的書。有事直接拿起來就讀,特別快,都幾乎不用想。

你自己就是操作系統,管理整個電腦的硬體和軟體。

我希望你還能記得:

如果一個地方擠滿了,就不能再放東西了。

如果這條不知道。。。。您幼兒園是函授的么?

開始解釋:

Win9X時代:(98什麼的)

你做事沒有條理。

每次離開書房的時候,都把書一本本放回書架,哪怕是每天都用無數次的書,然後回來的時候再取回來。(休眠不成熟)

你不離開的時候,有時,你拿的書多了,把寫字檯擠滿了需要往下挪書的時候,有些書你忘記挪了。造成你寫字檯空間越來越小。(內存管理不好,造成可用內存越來越少)

這時有人幫你清理:憑空變出一本特別大的書在寫字檯上,然後你就不得不把一切書都清理走了。(內存中變出一個巨大文件,擠佔一切能擠占的空間,並要求系統放出有可能不能佔用的空間)接下來這本大書消失(文件刪除),你的寫字檯就乾淨了(可用內存增加)。

但是但是,到了xp時代:

你做事有條理多了,不用的書會及時挪走,把地方空下來。(內存管理完善)

再後來,Vista和Win7:

你更聰明了。你每天一進書房,或者沒事的時候,就把你平常常用的書都先搬到桌子上,預備著使用(預讀,superfetch)。因為這些書都是常用的(系統根據你的使用習慣自動讀取可能需要的程序進內存),你如果需要用,順手一抓就可以,不必挪到書架去拿了。

如果需要別的大書,就把一些沒用上的常用書挪回書架(預讀的空間是可以直接佔用的,不會影響其他程序運行)。這樣就不怕沒地方,還能速度快。

Linux一直有這個特點,所以Linux和OSX會出現內存完全滿了,但是系統還是運行飛快的現象。Windows內存滿了?早死機了。

回到主題。

360這種自作聰明的軟體的所作所為是,把你平常常用的書都強行挪到書櫃。這樣你寫字檯看起來能漂亮點。

但是,從你做事方便來看,你是願意來回去書櫃拿書,還是希望常用書手邊就有?哪個方便?


資源的價值體現在有效利用,而不是無意義的堆放,這在計算機方面體現的尤為突出。

360忽悠了用戶,還讓用戶覺得開心,抓的就是普通用戶「我還有這麼多內存資源!」這樣的心理特點;殊不知,從那一刻開始,你手裡的原本正在有效利用中的內存資源便不屬於你了。


從大約2000年至今,各種內存整理、內存優化、內存清理、一鍵加速、進程加速器、加速球等等層出不窮的各種包裝,都只是為了掩蓋一個業內公開的秘密:

無論是用最簡便的EmptyWorkingSet(EmptyWorkingSet function (Windows)),還是用不需要依賴PSAPI的SetProcessWorkingSetSize(SetProcessWorkingSetSize function (Windows)),亦或是用雖然稍微麻煩一點但Windows 2000也支持的NtSetInformationProcess(NtSetInformationProcess),他們的核心代碼都不會超過五行,其餘的都是界面代碼。

而這項「核心技術」大約是源自1997年的Microsoft Systems Journal(Under the Hood, MSJ January 1997),其效果請參考 @林燦斌的回答。


確實有很多軟體遊戲因為寫的不好,會產生內存泄露,佔用內存越來越多最後崩潰掉,要是有個軟體能高效的清理這種內存,那就是神器了。


可惜360沒這個本事,他只是把用於緩存的數據或者進程從內存裡面清理掉(或者放到虛擬內存)而已,這樣做只會讓電腦更慢。


當然,如果你的物理內存太小,就需要平衡不同進程的虛擬內存使用量,但是360也實現不了這種調度。


別拿個小丑當教授!


只有當軟體退出仍無法釋放佔用的內存,才有需要這麼做


謝邀

理性看待吧, @林燦斌 和 @朱煥傑 已經說了兩個對立的面。其實還是綜合一下,cache中留著的資源是為了提升其他程序調用這些資源的效率。在cache沒爆掉的情況下沒事就幹掉這些資源沒什麼好處,提升的內存空間沒有利用價值卻反而讓這些資源的利用效率變低甚至降低系統穩定性。如果說要跑一個遊戲,不再使用其他程序,那麼釋放cache中的資源是有利的。

既然說綜合一下,先說360:

最近給朋友整理電腦,無意中點了360的遊戲優化功能,看看它都幹了些什麼?暫停一些服務,幹掉一些進程釋放內存,就這樣完事了。騰出了一些內存空間確實能在一定程度上提高遊戲性能。然後玩完遊戲我要辦公了(舉個栗子),發現sqlserver服務給停了。這就是後遺症吧,類似的後遺症還有挺多的。不過良心的是360隻是停止服務,重啟後還是正常的,沒有直接給服務設成手動並停止,我給您老燒高香了……

再說ms:

win當然有自己的一套管理機制,關與內存管理,磁碟管理,文件管理請參考大學課程「操作系統」相關書籍。總之就是你啥都不管,該幹嘛幹嘛,win也能一定程度上做處理。但是程序畢竟是程序,機器畢竟是機器,這東西都是「傻瓜」,不能按照人預想的情況處理。win是這樣,360也是這樣。win以穩定為目標,你不用,我不動。360以什麼為目標我不說了也說不準,反正就是你不用,我嚇你,你用了,我就折騰過頭了。這也是優化軟體的通病吧。

所以說360刷存在感也不為過,但是確實能提升一些遊戲效率。

其實結論是:

如果我是技術帝,機器一般也不要緊,手動停掉一些不用的服務,幹掉一些進程,既不影響系統,也能提升遊戲性能。

如果我是土豪,攢一個牛b的機器,那我不要技術也不用優化,開3個老滾也不卡。

如果我就是普通用戶,機器一般,也不用來工作,就是看看電影玩玩遊戲,甚至連機器卡和網路卡都沒分清楚,那麼用360或者其他的優化軟體也沒有什麼問題。刷存在感就去刷吧。反正我覺得省事,至少能節省我給別人修電腦的時間……


其實有時候也有用的,某些流氓程序想長駐內存時,用流氓對付流氓是最有用的,順便刷下存在感,忽悠下小白。


360是把自己進程kill掉了嘛?400m。。。


果斷棄用就好了,佩服一句話「過去的病毒製作者努力讓電腦感染病毒,現在的病毒製作者努力讓電腦感染衛士」。


樓上各位大神分析的很清楚了、我就說一句:直觀上來看、點了360優化後並沒有感到機器變快,卸了360機器也沒有爆炸、ps:360已卸3年了


給你提高效率的東西清理掉,你當windows是安卓啊- -微軟那麼多工程師又不是NC


請卸載掉它,或者在你需要還想檢測的時候就運行它一下,平常還是退出它好了


推薦閱讀:

我電腦C盤容量是50G,沒有隱藏文件和文件夾,現有的文件加起來一共才37G,還有13G的容量哪去了?如何能找回?
微軟的真愛是Windows7嗎?
Win7/Win8 長時間不關機會變卡嗎?是否無法媲美同時代的 OS X?
朋友覺得Windows 8一定比Windows 7牛,怎麼反駁?
蘋果air裝win7有沒有什麼問題,請談一下你的感受?

TAG:Windows7 | 內存RAM | 360安全衛士 |