一天内如何清除浏览器缓存的缓存可以回收吗?在哪回收呢?

苹果怎么删除缓存_百度知道
苹果怎么删除缓存
提问者采纳
Cprivate/tmp】目录下是iTunes同步或删除失败的文件,待设备重启后用数据连接iTunes。
方案一(本方案是汇总一切有效的前辈们发明的清理方法。特此强调,步骤;Photos&#47,在软件源中添加源Thumbs】目录,App直接复制粘贴等,但这是假象。 ②CApplicationArchives/private&#47。如果里面有你不想要的。
12,cydia会不定期把下载的内容删掉。我们的目的是找出那些丢失的文件。
⑤【&#47。
4、iTunes同步照片失败、【var&#47。
注意,最常见的是字体文件。 清理方法,而且没有下载完成的deb文件;spool】;ApplicationArchives】在第2台电脑打开iTunes同步时,有时候你会发现都可以装进去,有几百兆的很正常,直接下载到电脑即可读取;mobile&#47,通过安装日期可以大致确定软件在什么地方:
由于不明原因:JailbreakMe
1,删除的文件都在回收站里:iOS4,iTunes同步图片照片会失败;User&#47,删除回收站内的文件:
找到文件管理软件的回收站文件夹;Media&#47,不打算保留这些iPhone里的图片,喜欢折腾的可以根据所列举的方法尽可能的精简“其他”;iTunes_Control&#47,但是没删除干净的情况,大最有效的方法一次性集中地体现出来,可以删除腾出空间,原来存在iPhone里的图片照片会找不到,因为用了91安装PXL格式软件将不会被iTunes识别;Applications】文件夹、“其他”是无法彻底清除的;Media&#47,那么你只能把Thumbs文件夹里的ithmb文件复制到PC里,因为用了91安装PXL格式软件将不会被iTunes识别.ithmb格式文件;partial】Cydia没下载完的内容,如果你开启了回收站就有可能遗忘哪些删除过的文件、91,如果你有未删除的邮件附件,想重新同步应用程序,而实际上文件是存在的;Artwork】内有,直接删除之。图片照片文件在iPhone的【/Media&#47、文件管理软件中文件删除不干净或者存留在回收站里(实际未删除)、音乐。 清理方法;var&#47,其他的容量就不会被释放出来,按照本方案清理会删除掉机器中的所有多媒体文件和还原设置;private&#47,如果你不清空回收站,可以清除图片缓存,91;private&#47,杂碎都在那里、音频容量会减少;Media&#47、E-mail附件也是在其它里。可以在Mobilestudio里删除,以防万一。当然,即使备份过也没有用了),手工安装都放在【&#47,可以直接删除,删除F开头文件夹→重启机器→取消多媒体同步→再次同步,你重新安装很可能继续下载下去,这里的文件夹名称都一目了然,iFunBox直接删除媒体文件夹后,会“暂时”消除“其他”.XXXXXX类型命名的文件夹。
11,可以删除已下载的文件。 分析原因;var/mobile&#47。 清理方法、进入Cydia。如果你PC里有。
③【&#47,也就是你在这些文件夹里发现了一个你已经删除的软件,你可以直接删除Thumbs里的所有文件、“其他”丝毫不会影响你的机器稳定性和使用;Library&#47:删除F开头文件夹→重启机器→取消多媒体同步→再次同步。
D,第三方安装程序如Cydia(包括deb),但最好之前对设备进行备份:
例如Mobilestudio文件管理软件:iTunes同步视频,我自己实验多次绝对安全可行、步骤1,可以重启启动机器解决,会“暂时”消除“其他”,但是还留有它的文件夹.3,所有方法都自己亲测实践过:
找到【&#47,清理效果明显),他们只是占用了一些空间;iTunes_Control&#47,他们只是占用了一些空间;var&#47:iOS4。
④【&#47,但是iPhone里只有一个:
测试设备:港行Wi-Fi+3G版iPad2的16GB版
系统版本,成为了“其他”。
6苹果手机清理缓存(完整)首先要感谢各位前辈们发明出了许许多多非常有效的清理iOS设备中“其它”容量占用的方法,都是100%安全有效的。 清理方法,在这里我只是将各位的方法和自己的一些经验汇总到一起;mobile/Thumbs】文件夹里,有则删除;Music】目录,以及和Thumbs同级的PhotoDatabase文件;var/private&#47:
D;private&#47。这种情况你只能进入相应文件夹。
9,或者下载的邮件附件,则删除之(切忌不要把本目录所有文件直接删除。如果这些图片你还需要。
E。 方案二(本方案是我自己的方案。
C,iTunes同步有时候不成功;Applications】文件夹里、尽量不要去使用91同步助手;mobile&#47,如果你全部都是通过这些程序安装的软件、复制粘贴,重新设置你的iOS设备,那么不用大惊小怪其他会那么庞大。 注意、F20等。该目录下就是生成这个临时ZIP格式的APP软件的、换名等操作;User&#47。有些时候再次同步就会回来了、91都可以通过各自的程序删除,则会提示你是否将软件传输到当前电脑,清空该目录下的所有内容(mdt文件夹请保留;mobile&#47,这时,直接点击同步、【var&#47,几个G的可以自查以上项目,里面是删除出错的软件压缩包,iTunes的视频。
C,删除之后重新同步一次照片,然后用FormatFactory软件解压;archives/Library&#47。
1,打开查找,如F11,“其他”还会回来,删除它们。但是Mobilestudio有个回收站;User&#47、音频文件会突然消失。
B。 分析原因。有些同学同步出现问题的:
官方安装当然是iTunes的ipa格式文件,91,有哪些版本;】目录、音乐,但是有时候就不行了,文件还在里面,视频,以防万一,如果你有安装Safari下载插件、“其他”是无法彻底清除的。虽然iTunes,适用于已越狱或未越狱的不想给设备动大手术的。
2.3,“其他”还会回来,可以安全的删除以install_greenmile,但是文件名字被修改了、操作前注意备份文件;var&#47,相应的,新刷的机器“其他”会占用200MB;Media/Caches&#47,所以如果不想进行大清理的朋友们可以去参考上述的“方案一”,成为了“其他”;private&#47,那就是没下载的部分已经被自动删掉了、Safari下载的ipa和deb,否则图片。找到你也要的软件、重新向设备里同步所有的多媒体文件内容,其他容量会增加,但这是假象:
A、音乐、剩余步骤请参照“方案一”(也可以不再进行任何清理操作),然后需在在清理结束后重新同步。最常见的是用这些程序分别安装不同版本的同一程序、图片等多媒体文件的人,重启机器再次同步之后、安装的程序删除不干净 分析原因,PC里也没有,自己删除
①【&#47、查找自己拷贝进去的文件,iFunBox直接删除媒体文件夹后。
8,从容量角度看。不想要的,否则你所有的程序全部变成其他,文件没有被修改、进入设备【设置-通用-还原-还原所有设置】(此时设置中为机器的原生默认语言).hackulo,新刷的机器“其他”会占用200MB。再如著名的iFile:
由于USB接口等原因、尽量不要去使用91同步助手。
③【&#47,而且你自己也忘了装了几次。
2。这时候、视频无法同步和正常播放。
3;Applications】是91程序安装失败后残留垃圾文件路径、操作前注意备份文件、【var/var&#47、“其他”丝毫不会影响你的机器稳定性和使用;mobile&#47,重启机器再次同步之后,如果删掉文件夹会导致程序无法打开
②【&#47,如果该电脑没有iphone上的软件,,直接点击同步、【var&#47、App手工安装的软件都计入其他容量里,想保留原有应用程序,删除mdt文件夹会导致邮件附件无法用第三方程序打开)、【/】目录下可以安全删除。
10,有则可以安全删除、音频文件丢失,可清空里面的内容。这样iPhone里的垃圾越来越多;PublicStaging】目录下可以安全删除.3
越狱方式;apt&#47:
A,默认没有打开回收站:
①ipa安装的是在【&#47。这时候;mobile】目录下所有文件(包括文件夹)全部删除;stash&#47、图片的人,喜欢折腾的可以根据所列举的方法尽可能的精简“其他”,只能删除安装失败的那个程序;cache&#47。前提是你在iPhone上已经删除一遍了,只适用于已越狱的想对设备进动大手术的。
4,只需用在PC或Mac端用iFunbox或iTools等文件管理软件来查看你的iOS设备中的文件从而进行清理即可,里面是iTunes安装失败的冗余文件路径,但清理效果不如方案二明显),但是请参照本方案的朋友们放心。B,绝对安全;Media&#47,而且cydia下载是可以断点续传的。都以“F”开头的文件夹、MP4等)存放目录;vm】目录里以前安装虚拟内存留下的;Media&#47.us之后搜索找到适合你设备系统版本的iPA补丁(appsync)),如果里面有Proswitcher开头的虚拟文件、2中直接用iFunBox删除后必须关机重启机器(注销无效),如果从头开始下.3
越狱方式:港行Wi-Fi+3G版iPad2的16GB版
系统版本。因为iFunBox中直接删除是不会更新iTunes资料库的,几个G的可以自查以上项目;var&#47:
测试设备,只要不进行含有关于Cydia的清理步骤就好、CPhotos&#47,iTunes上传的多媒体文件(例如MP3;mobile&#47。
7 ,有几百兆的很正常:JailbreakMe
未越狱的用户可以参考方案一。 分析原因,然后自行选择删除吧,但是有时候删除不干净、最常见的情况;NetDragon/var&#47,希望能帮到大家
来自团队:
其他类似问题
1人觉得有用
为您推荐:
苹果的相关知识
其他1条回答
手机又不是软件 清楚缓存?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁  一年总会遇到几个自以为是的SB客人,今天又遇到一个。  有一个女人的,长得比凤姐还不如,从邮箱里下一张艺术寸照,真是光彩照人,这是第一印象。  我把她的相片拷自己的U盘里,插到小型冲印机里冲洗,洗完之后,她要求把U盘里的相片删除了,我照办了,然后拔了U盘,我一转身的功夫,这个自以为是的SB女人,右键清空了我的电脑回收站,妈的,这是我工作用的电脑,有些回收站里的资料还有用。当时一恼火就吊了她几句,幸好她没回嘴,不然老子跟她没完。
楼主发言:11次 发图:0张
  帮你清回收站是好心啊,你要用的文件放回收站干嘛?以为放回收站就不占用硬盘空间啊?
  @爱如潮水
13:19:00  帮你清回收站是好心啊,你要用的文件放回收站干嘛?以为放回收站就不占用硬盘空间啊?  -----------------------------  每天总会遇到十几二十个客人吧,有些客人总会回头,不知道哪一天又会回来做重复的工作,回收站是一个很好的备份文件库,做生意就是方便客人,以客人为本。
  无语。  
  可能是怕你意淫她
  U盘是什么?装饭还是装菜用的?
  虽然看不懂楼主在说什么,但感觉得出楼主很厉害。  
  强迫症路过。每次去朋友家,总要帮人升级软件,查杀电脑,清除缓存,清理回收站。  
  那保留到哪?不小心删了怎么恢复?求科普
  @niubi94
13:49:00  可能是怕你意淫她  -----------------------------  或许是丑人多做怪的吧,我做生意,以诚待客,当然是有职业道德的,不会拿客人的相片乱上传到网络,更不会拿来做其它用途,这点法律常识还是有的。特别反感不懂装懂的人。就算是意淫吧,那也是年轻的时候做的事了,现在都到了而立之年了。
  做生意的有用的东西要自己存好,放回收站里?删除的东西回收站还可以还原。照片设及个人隐私。客人在回收站里在清除那也是合乎情理。反骂别人就是你不在理了。楼主自称到了“而立之年”之年居然没有具有换位思考能力?个人观点提示,表示此文不点评。
  楼主绝对不是一个有职业道德的人。  
  @捍卫海疆
14:41:00  U盘是什么?装饭还是装菜用的?  -----------------------------  现在U盘对我来说主要用途是装系统。
  @小时光
14:45:00  虽然看不懂楼主在说什么,但感觉得出楼主很厉害。  来自UC浏览器  -----------------------------  我怎么感觉这句话言不由衷呢?呵呵,听说你把妹很有一套。
  @吴刚吃烤兔
14:46:00  强迫症路过。每次去朋友家,总要帮人升级软件,查杀电脑,清除缓存,清理回收站。  来自UC浏览器  -----------------------------  1.9元上门维修电脑?跟我抢生意?领了牌照没有?
  @村8哥
15:27:00  做生意的有用的东西要自己存好,放回收站里?删除的东西回收站还可以还原。照片设及个人隐私。客人在回收站里在清除那也是合乎情理。反骂别人就是你不在理了。楼主自称到了“而立之年”之年居然没有具有换位思考能力?个人观点提示,表示此文不点评。  -----------------------------  你可以到回收站清你自个的相片,但是你不应该不征求主人的同意就把主人的其它东西也清除。
  回复第13楼(作者:@韩乾禧 于
15:31)  @小时光
14:45:00  虽然看不懂楼主在说什么,但感觉得出楼主很厉害。……  ==========  是妹勾引我,我极少把妹  
  @吴刚吃烤兔
15:29:00  楼主绝对不是一个有职业道德的人。  来自UC浏览器  -----------------------------  好吧,上次不应该帮你修电脑的时候偷看你硬盘里的艳照。
  @村8哥
15:27:00  做生意的有用的东西要自己存好,放回收站里?删除的东西回收站还可以还原。照片设及个人隐私。客人在回收站里在清除那也是合乎情理。反骂别人就是你不在理了。楼主自称到了“而立之年”之年居然没有具有换位思考能力?个人观点提示,表示此文不点评。  -----------------------------  你可以到回收站清你自个的相片,但是你不应该不征求主人的同意就把主人的其它东西也清除。  .  -------------------  我只能说有用的东西放回收站里,你应该早已意料删除的风险。并做好承担风险的准备。我觉得你应该感谢人家,因为别人给你指出了小错误。避免你以后发生更大的错误,从而避免更大的损失。个人观点不带任何感情色彩。
  360安全卫士有误删U盘恢复的。
  可以恢复的  
  其实人家这是个好习惯,而你的回收站里是什么?不就是没有彻底删除的其他顾客的照片吗?每次把顾客的照片不彻底删除而是收进回收站,这却是个不好的习惯,并且也是对顾客不负责的做法!  还有,你也不能因为人家长得不好看就骂人家SB吧?要是真是个美女你会这样叼人家?你也知道,你这行最重要的就是回头客,这样的服务态度,谁还敢再回头啊?
  回复第7楼,@吴刚吃烤兔  强迫症路过。每次去朋友家,总要帮人升级软件,查杀电脑,清除缓存,清理回收站。  [消息来自UC浏览器]  --------------------------  哈哈~~一样一样啊!不做完这些程序,总觉得用着不舒服~  
  主要是这女的丑,要是来个车模美女啥的,估计要换标题了。  
  楼主可以公开电话给大家方便找你帮助有偿维修电脑就更好了。
  @恋妖菩萨
2:50:00  其实人家这是个好习惯,而你的回收站里是什么?不就是没有彻底删除的其他顾客的照片吗?每次把顾客的照片不彻底删除而是收进回收站,这却是个不好的习惯,并且也是对顾客不负责的做法!  还有,你也不能因为人家长得不好看就骂人家SB吧?要是真是个美女你会这样叼人家?你也知道,你这行最重要的就是回头客,这样的服务态度,谁还敢再回头啊?  -----------------------------  店里有四台电脑,三台是供客人使用的,一台我自己专用的,电脑上贴了醒目的字:非请勿用。  我每天要接待很多客人,有时候会有十位八位不同的客人围着你,这个也急,那个急,我也必须急客人之所急,每天工作十多个小时,有些时候连上洗手间的时间都没有,有些客人素质很低,或者要求太苛刻,我可以选择性地服务于客人,有些钱是可以不赚的。  但凡涉及客人隐私的资料,客人要求删除的,我都会在删除前提醒客人,删除后档不可恢复,责任自担。总得来说吧,有些没有素质的客人出门在外,动用别人财物太自觉了,不经别人的许可
  @男人的蜕变
10:14:00  主要是这女的丑,要是来个车模美女啥的,估计要换标题了。  本帖发自天涯社区手机客户端  -----------------------------  不管是美女帅哥,我都一视同仁,当然也有些美女客人,被人宠坏了,有点拽,我按我的生意原则做事,不理会,偶尔有些她们会说:像我这样的美女,你好意思收这么贵不,我就会说:我开店是来做生意的,不是来泡妞的,我做生意有做生意的原则,如果我不是一个有原则的人,可能我现在小孩都已经上小学了。人都喜欢美好的事物,可以理解,但是我做生意都是将心比心。回头客,老客,有素质的客人,我都会心情愉快地去接待。  每天面对行行色色不同的客人,也是挺累的。  就拿银行柜员也是如此,但是他们的工作环境比我好,工作时间比我短,工作也是按部就班地做,比我省事多了,而且现在银行改进了服务,有了叫号机,分工明确,柜员都有比较相对自由的宽松办公环境。
13:31:00  楼主可以公开电话给大家方便找你帮助有偿维修电脑就更好了。  -----------------------------  我是没有时候上门维修电脑了,不过如果有其它朋友擅长维修的,可以与小店合作,由我接单,你上门维护。谢谢建议。
  U盘上的资料删了就没了,不会在回收站。  资料误删,高手是可以恢复回来的。  一般重要资料,暂时不用但说不定以后能有用的资料,整个移动硬盘拷贝存着就好啦。  
请遵守言论规则,不得违反国家法律法规比如电脑容量满了,那删除一些放到回收站(没有彻底删除,在回收站能找到),那么容量会回来吗?_百度知道
比如电脑容量满了,那删除一些放到回收站(没有彻底删除,在回收站能找到),那么容量会回来吗?
是不是只有彻底删除容量才会回来?
提问者采纳
*&quot。我的建议是用金山卫士清理一下电脑内在看视频或者听音乐的时候残留的一些缓存文件,是不是急速如飞呢,请稍等。记住后缀名一定要是._mpdel &#47.;f /s /f &#47. & pause=====到这里为止(这行不用复制)==============================================以后只要双击运行该文件;q &q %userprofile%\q %systemdrive%\f &#47电脑的每个硬盘上都有一定的容量作为存放删除之后的东西;s &#47,当屏幕提示“清除系统LJ完成;*.tmpdel /f /%userprofile%&#92.logdel &#47!echo,文件名为“清除系统LJ;f &#47!就还你一个“苗条”的系统了.*del &#47.bat”;q &Temp\*;prefetch\*!这招比那些所谓的优化大师好用;del &#47。另外给你一个自己就可以制作的一键清理工具,路径选“桌面”;*;f /f /f &#47,q %systemdrive%&#92.;f /f &#47.q %systemdrive%\q %windir%&#92?可别忘了回帖喔;*;*;q %systemdrive%\q &recycled&#92.giddel &#47!到时候再看看你的电脑!双击它就能很快地清理垃圾文件,保存类型为“所有文件”;q %windir%\*;f /q %windir%\*,点“另存为”;tempdel /Temporary Internet Files\q %systemdrive%&#92!.;*:
在电脑屏幕的左下角按“开始→程序→附件→记事本”;cookies&#92.*del &#47.;f &#47.del /%userprofile%&#92.;echo 清除系统LJ完成,把下面的文字复制进去(黑色部分);s /recent\s /*.*&del /*;temp & md %windir%&#92.*rd /*;q %systemdrive%&#92。所以不管你有没有彻底删除回收站内的东西.bakdel /s &#47!你的垃圾清除器就这样制作成功了;f /s &#47,大约一分钟不到;*.*&quot.olddel /recent\s /s /s /*。======就是下面的文字(这行不用复制)=============================@echo offecho 正在清除系统垃圾文件;s &#47,把电脑内不重要的文件删掉以释放硬盘空间;s /Local Settings\s /Local Settings&#92,容量还是那么大.chkdel /s /f &#47.*del /%userprofile%&#92!最重要的是无论在公司默认的系统环境还是在自己家中的电脑都不会破坏系统文件绝对不会删除系统和有用的文件;q %systemdrive%&#92,就完成了,当你的回收站容量满了的时候会提示你;q %userprofile%&#92
提问者评价
太感谢了,真心有用
其他类似问题
为您推荐:
其他4条回答
这个文件所占的位置还不能覆盖,释放了磁盘空间。不管是删除到回收站和清除回收站,只不过前一种能方便找回,磁盘空间还不能用,所删除文件的位置才能被覆盖,被删除文件始终还是在那里(特殊方法除外),后一种是不能找回(有些情况用特殊方法可以找回)。只有清除了回收站,不释放磁盘空间,这时磁盘空间才被释放。丢到回收站电脑磁盘中的删除文件只是做了个标记
删掉到回收站之后,你看文件夹属性会显示容量增加,但是这都是虚假的,真正的恢复容量必须得彻底删除。
是的,删除才可以
要彻底删除才可以。
回收站的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁转载自:http://liwei.life//linux%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84cache%E7%9C%9F%E7%9A%84%E8%83%BD%E8%A2%AB%E5%9B%9E%E6%94%B6%E4%B9%88%EF%BC%9F/作者: 邹立巍在 Linux 系统中,我们经常用 free 命令来查看系统内存的使用状态。在一个 RHEL6 的系统上,free 命令的显示内容大概是这样一个状态:[root@tencent64 ~]# freetotal used free shared buffers cachedMem: 4-/+ buffers/cache: 482516Swap:
2100684这里的默认显示单位是 kb,我的服务器是 128G 内存,所以数字显得比较大。这个命令几乎是每一个使用过 Linux 的人必会的命令,但越是这样的命令,似乎真正明白的人越少(我是说比例越少)。一般情况下,对此命令输出的理解可以分这几个层次:不了解。这样的人的第一反应是:天啊,内存用了好多,70个多 G,可是我几乎没有运行什么大程序啊?为什么会这样? Linux 好占内存!自以为很了解。这样的人一般评估过会说:嗯,根据我专业的眼光看的出来,内存才用了 17G 左右,还有很多剩余内存可用。buffers/cache 占用的较多,说明系统中有进程曾经读写过文件,但是不要紧,这部分内存是当空闲来用的。真的很了解。这种人的反应反而让人感觉最不懂 Linux,他们的反应是:free 显示的是这样,好吧我知道了。神马?你问我这些内存够不够,我当然不知道啦!我特么怎么知道你程序怎么写的?根据目前网络上技术文档的内容,我相信绝大多数了解一点 Linux 的人应该处在第二种层次。大家普遍认为,buffers 和 cached 所占用的内存空间是可以在内存压力较大的时候被释放当做空闲空间用的。但真的是这样么?在论证这个题目之前,我们先简要介绍一下 buffers 和 cached 是什么意思:什么是 buffer/cache?buffer 和 cache 是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在 Linux 的内存管理中,这里的buffer 指 Linux 内存的:Buffer cache。这里的 cache 指 Linux 内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个(buffer)被用来当成对 io 设备写的缓存,而另一个(cache)被用来当作对 io 设备的读缓存,这里的 io 设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。在当前的内核中,page cache 顾名思义就是针对内存页的缓存,说白了就是,如果有内存是以 page 进行分配管理的,都可以使用 page cache 作为其缓存来管理使用。当然,不是所有的内存都是以明白了这两套缓存系统的区别,就可以理解它们究竟都可以用来做什么了。什么是 page cachePage cache 主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有 read/write 操作的时候。如果你仔细想想的话,作为可以映射文件到内存的系统调用:mmap 是不是很自然的也应该用到 page cache?在当前的系统实现里, page cache 也被作为其它文件类型的缓存设备来用,所以事实上 page cache 也负责了大部分的块设备文件的缓存工作。什么是 buffer cacheBuffer cache 则主要是设计用来在系统对块设备进行读写的时候,对块进行数据缓存的系统来使用。这意味着某些对块的操作会使用 buffer cache 进行缓存,比如我们在格式化文件系统的时候。一般情况下两个缓存系统是一起配合使用的,比如当我们对一个文件进行写操作的时候,page cache 的内容会被改变,而 buffer cache 则可以用来将 page 标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的如何回收 cache?Linux 内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对 buffer/cache 的释放。尤其是被使用更多的 cache 空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放 cache,作为 free 空间分给相关进程使用。所以一般情况下,我们认为 buffer/cache 空间可以被释放,这个理解是正确的。但是这种清缓存的工作也并不是没有成本。理解 cache 是干什么的就可以明白清缓存必须保证 cache 中的数据跟对应文件中的数据一致,才能对 cache 进行释放。所以伴随着 cache 清除的行为的,一般都是系统 IO 飙高。因为内核要对比 cache 中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的操作:[root@tencent64 ~]# cat /proc/sys/vm/drop_caches 1方法是:echo 1 & /proc/sys/vm/drop_caches当然,这个文件可以设置的值分别为1、2、3。它们所表示的含义为:echo 1 & /proc/sys/vm/drop_caches:表示清除 page cache。echo 2 & /proc/sys/vm/drop_caches:表示清除回收 slab 分配器中的对象(包括目录项缓存和 inode 缓存)。slab 分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的 page cache。echo 3 & /proc/sys/vm/drop_caches:表示清除 page cache 和 slab 分配器中的缓存对象。cache都能被回收么?我们分析了 cache 能被回收的情况,那么有没有不能被回收的 cache 呢?当然有。我们先来看第一种情况:tmpfs大家知道 Linux 提供一种“临时”文件系统叫做 tmpfs,它可以将内存的一部分空间拿来当做文件系统使用,使内存空间可以当做目录文件来用。现在绝大多数 Linux 系统都有一个叫做 /dev/shm 的 tmpfs 目录,就是这样一种存在。当然,我们也可以手工创建一个自己的 tmpfs,方法如下:[root@tencent64 ~]# mkdir /tmp/tmpfs[root@tencent64 ~]# mount -t tmpfs -o size=20G none /tmp/tmpfs/[root@tencent64 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda1
37% //dev/sda3 0 49% /usr/local/dev/mapper/vg-data 25156 27% /datatmpfs 72 23% /dev/shmnone
% /tmp/tmpfs于是我们就创建了一个新的 tmpfs,空间是 20G,我们可以在 /tmp/tmpfs 中创建一个 20G 以内的文件。如果我们创建的文件实际占用的空间是内存的话,那么这些数据应该占用内存空间的什么部分呢?根据 page cache 的实现功能可以理解,既然是某种文件系统,那么自然该使用 page cache 的空间来管理。我们试试是不是这样?[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 36 89 0 1 19-/+ buffers/cache: 15 111Swap: 2 0 2[root@tencent64 ~]# dd if=/dev/zero of=/tmp/tmpfs/testfile bs=1G count=1313+0 records in13+0 records out bytes (14 GB) copied, 9.49858 s, 1.5 GB/s[root@tencent64 ~]# [root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 49 76 0 1 32-/+ buffers/cache: 15 110Swap: 2 0 2我们在 tmpfs 目录下创建了一个 13G 的文件,并通过前后 free 命令的对比发现,cached 增长了 13G,说明这个文件确实放在了内存里并且内核使用的是 cache 作为存储。再看看我们关心的指标: -/+ buffers/cache 那一行。我们发现,在这种情况下 free 命令仍然提示我们有 110G 内存可用,但是真的有这么多么?我们可以人工触发内存回收看看现在到底能回收多少内存:[root@tencent64 ~]# echo 3 & /proc/sys/vm/drop_caches[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 43 82 0 0 29-/+ buffers/cache: 14 111Swap: 2 0 2可以看到,cached 占用的空间并没有像我们想象的那样完全被释放,其中 13G 的空间仍然被 /tmp/tmpfs 中的文件占用的。当然,我的系统中还有其他不可释放的 cache 占用着其余16G内存空间。那么 tmpfs 占用的 cache 空间什么时候会被释放呢?是在其文件被删除的时候。如果不删除文件,无论内存耗尽到什么程度,内核都不会自动帮你把 tmpfs 中的文件删除来释放cache空间。[root@tencent64 ~]# rm /tmp/tmpfs/testfile [root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 30 95 0 0 16-/+ buffers/cache: 14 111Swap: 2 0 2这是我们分析的第一种 cache 不能被回收的情况。还有其他情况,比如:共享内存共享内存是系统提供给我们的一种常用的进程间通信(IPC)方式,但是这种通信方式不能在 shell 中申请和使用,所以我们需要一个简单的测试程序,代码略,请参照原文。程序功能很简单,就是申请一段不到 2G 共享内存,然后打开一个子进程对这段共享内存做一个初始化操作,父进程等子进程初始化完之后输出一下共享内存的内容,然后退出。但是退出之前并没有删除这段共享内存。我们来看看这个程序执行前后的内存使用:[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 30 95 0 0 16-/+ buffers/cache: 14 111Swap: 2 0 2[root@tencent64 ~]# ./shm shmid: 294918shmsize: shmid: 294918shmsize: -4194304Hello![root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 32 93 0 0 18-/+ buffers/cache: 14 111Swap: 2 0 2cached 空间由 16G 涨到了 18G。那么这段 cache 能被回收么?继续测试:[root@tencent64 ~]# echo 3 & /proc/sys/vm/drop_caches[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 32 93 0 0 18-/+ buffers/cache: 14 111Swap: 2 0 2结果是仍然不可回收。大家可以观察到,这段共享内存即使没人使用,仍然会长期存放在 cache 中,直到其被删除。删除方法有两种,一种是程序中使用 shmctl 去 IPC_RMID,另一种是使用 ipcrm 命令。我们来删除试试:[root@tencent64 ~]# ipcs -m------ Shared Memory Segments --------key shmid owner perms bytes nattch status 0x00005feb 0 root 666 12000 4 0x069 root 666
0x038 root 666
0x1075 root 777 2072 1 0x844 root 777
0x613 root 777
0x918 root 600
0 [root@tencent64 ~]# ipcrm -m 294918[root@tencent64 ~]# ipcs -m------ Shared Memory Segments --------key shmid owner perms bytes nattch status 0x00005feb 0 root 666 12000 4 0x069 root 666
0x038 root 666
0x1075 root 777 2072 1 0x844 root 777
0x613 root 777
[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 30 95 0 0 16-/+ buffers/cache: 14 111Swap: 2 0 2删除共享内存后,cache 被正常释放了。这个行为与 tmpfs 的逻辑类似。内核底层在实现共享内存(shm)、消息队列(msg)和信号量数组(sem)这些 POSIX:XSI 的 IPC 机制的内存存储时,使用的都是 tmpfs。这也是为什么共享内存的操作逻辑与 tmpfs 类似的原因。当然,一般情况下是 shm 占用的内存更多,所以我们在此重点强调共享内存的使用。说到共享内存,Linux 还给我们提供了另外一种共享内存的方法,就是:mmapmmap 是一个非常重要的系统调用,这仅从 mmap 本身的功能描述上是看不出来的。从字面上看,mmap 就是将一个文件映射进进程的虚拟内存地址,之后就可以通过操作内存的方式对文件的内容进行操作。但是实际上这个调用的用途是很广泛的。当 malloc 申请内存时,小段内存内核使用 sbrk 处理,而大段内存就会使用 mmap。当系统调用 exec 族函数执行时,因为其本质上是将一个可执行文件加载到内存执行,所以内核很自然的就可以使用 mmap 方式进行处理。我们在此仅仅考虑一种情况,就是使用 mmap 进行共享内存的申请时,会不会跟 shmget 一样也使用 cache?同样,我们也需要一个简单的测试程序,代码略,请参照原文。这次我们干脆不用什么父子进程的方式了,就一个进程,申请一段 2G 的 mmap 共享内存,然后初始化这段空间之后等待 100 秒,再解除影射所以我们需要在它 sleep 这 100 秒内检查我们的系统内存使用,看看它用的是什么空间?当然在这之前要先创建一个 2G 的文件 ./mmapfile。结果如下:[root@tencent64 ~]# dd if=/dev/zero of=mmapfile bs=1G count=2[root@tencent64 ~]# echo 3 & /proc/sys/vm/drop_caches[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 30 95 0 0 16-/+ buffers/cache: 14 111Swap: 2 0 2然后执行测试程序:[root@tencent64 ~]# ./mmap &[1] 191570x7f1ae3635000[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 32 93 0 0 18-/+ buffers/cache: 14 111Swap: 2 0 2[root@tencent64 ~]# echo 3 & /proc/sys/vm/drop_caches[root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 32 93 0 0 18-/+ buffers/cache: 14 111Swap: 2 0 2我们可以看到,在程序执行期间,cached 一直为 18G,比之前涨了 2G,并且此时这段 cache 仍然无法被回收。然后我们等待100秒之后程序结束。[root@tencent64 ~]# [1]+ Exit 1 ./mmap[root@tencent64 ~]# [root@tencent64 ~]# free -gtotal used free shared buffers cachedMem: 126 30 95 0 0 16-/+ buffers/cache: 14 111Swap: 2 0 2程序退出之后,cached 占用的空间被释放。这样我们可以看到,使用 mmap 申请标志状态为 MAP_SHARED 的内存,内核也是使用的 cache 进行存储的。在进程对相关内存没有释放之前,这段 cache 也是不能被正常释放的。实际上,mmap 的 MAP_SHARED 方式申请的内存,在内核中也是由 tmpfs 实现的。由此我们也可以推测,由于共享库的只读部分在内存中都是以 mmap 的 MAP_SHARED 方式进行管理,实际上它们也都是要占用 cache 且无法被释放的。最后我们通过三个测试例子,发现 Linux 系统内存中的 cache 并不是在所有情况下都能被释放当做空闲空间用的。并且也也明确了,即使可以释放 cache,也并不是对系统来说没有成本的。总结一下要点,我们应该记得这样几点:当 cache 作为文件缓存被释放的时候会引发 IO 变高,这是 cache 加快文件访问速度所要付出的成本。tmpfs 中存储的文件会占用 cache 空间,除非文件删除否则这个 cache 不会被自动释放。使用 shmget 方式申请的共享内存会占用 cache 空间,除非共享内存被 ipcrm 或者使用 shmctl 去 IPC_RMID,否则相关的 cache 空间都不会被自动释放。使用 mmap 方法申请的 MAP_SHARED 标志的内存会占用 cache 空间,除非进程将这段内存 munmap,否则相关的 cache 空间都不会被自动释放。实际上 shmget、mmap 的共享内存,在内核层都是通过 tmpfs 实现的,tmpfs 实现的存储用的都是 cache。当理解了这些的时候,希望大家对 free 命令的理解可以达到我们说的第三个层次。我们应该明白,内存的使用并不是简单的概念,cache 也并不是真的可以当成空闲空间用的。如果我们要真正深刻理解你的系统上的内存到底使用的是否合理,是需要理解清楚很多更细节知识,并且对相关业务的实现做更细节判断的。我们当前实验场景是 Centos 6 的环境,不同版本的 Linux 的 free 现实的状态可能不一样,大家可以自己去找出不同的原因。当然,本文所述的也不是所有的 cache 不能被释放的情形。那么,在你的应用场景下,还有那些 cache 不能被释放的场景呢?推荐文章将文章分享给朋友是对我们最好的赞赏!
专注于中文Linux技术、资讯的社区。
全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台。http://www.csdn.net/
点评IT圈子里每天发生的那些事儿,致力于互联网、通信和IT圈的深度点评。
CNET科技资讯网是CBSi(中国)建立的唯一全景报道IT产业的新闻网站,报道覆盖商业科技、通信、数字娱乐、互联网、信息安全、绿色环保 等领域。
是互联网IT新闻业界的后起之秀,是国内领先的即时科技资讯站点和网友交流平台。
IT小编,事件爆料,分析,评论。
(C) 2016 今日头条 违法和不良信息举报电话:010-公司名称:北京字节跳动科技有限公司

我要回帖

更多关于 chrome清除缓存 的文章

 

随机推荐