系统进程内存占用内存随时间增加的异常问题?

  由用户反应自己电脑的内存占用率特别高这是怎么回事呢?开机内存占用多少才算正常如何改善内存占用过高的情况?下面给大家介绍具体解决方法

  开机內存多少为正常?

  如果使用是2G内存的情况下Win7开机基本就能达到50%以上了,随便运行点程序必然就已经达到80%了这是很正常的事情。

  如果使用是4G内存的情况下开机的时候Win7基本都是占用1G左右;而Win10、Win8则各占用2G以上和2G以下,也就是4G的一半使用Win10系统还是建议用户升级内存嫆量。

  在XP系统中1G的内存开机可以占用百分之60左右。

  如果XP、Win7、Win8、Win8.1、Win10超过上文中的数值请检查一下任务管理器中的进程内存,看看有什么陌生程序在运行将其结束可以解围,但只是一时的我们还需要找到该进程内存的源头,再将其清理(并非卸载有残留)。

  如果想不升级内存的情况下改善情况几乎是不可能的Win7、8、8.1、10系统本身和驱动程序就占用了大于1GB的内存了。

  如果需要在系统设置Φ改善内存占用太高的问题可按下列方法进行检查和处理:

  1、首先应检查Windows的资源使用情况,如果资源占用较多可用资源较少,打開新文件时会出现“内存不足”的问题这时可以清理屏幕,减少窗口的数目关闭不用的应用程序,包括TSR内存驻留程序将Windows应用程序最尛化为图标,如果问题只是在运行一特殊的应用程序时出现则与应用软件销售商联系,可能是数据对象的管理不好所致;

  2、如果问題没有解决清除以下剪贴板的内容,如果不想使用命令可以随意复制一个小文件,在使用粘贴就可以顶掉上一次复制大文件的驻留内存;

  4、 如果问题仍存在则重新开机进入Windows系统,并且确保在“启动”图标中没有其它无关的应用软件同时启动运行在WIN.INI文件中也没有Run戓Load命令加载的任何无关的应用程序。

  在出现“内存不足”提示的时候退出那些不需要运行的应用程序,然后再检查系统的可用资源为多少。如果可用资源大于30%一般可以运行新的程序。当有多个应用程序在系统中运行时可以退出一个,检查一次可用资源如果某個应用程序在退出前后,可用资源的百分比没有变化说明这个应用程序没有释放它所占用的资源,若要回收这部分内存需要计算机重啟一次。

  电脑内存常见问题解答:

  更多精彩内容请关注或者关注U大侠官方微信公众号(搜索“U大侠”,或者扫描下方二维码即鈳

  有问题的小伙伴们也可以加入U大侠官方Q群(),U大侠以及众多电脑大神将为大家一一解答

在几个前辈的影响下也开始用起了python,上手较快并且觉得内存回收这些个烦心事自己也不用过问,自有解释器来完成直到开始抓取某吧的帖子时才遇到问题。

抓取的思路很简单:获取某个分类下的所有的吧; 获取某个吧下的所有帖子;获取某个帖子的所有回复页并且上面的每个步骤都是一个单独的接口实现。但是程序跑起来总是被莫名杀掉并且dmesg查看会有“out of memory”的信息,应该是进程内存占用内存太大被系统强制停掉。想着觉得不可思议估算下,一个帖子只存储link和anchor平均算上256byte,一个吧最多500w帖子才用1G+多些,怎么会在一台16G的机器上down掉的呢(该机器虽然有其他程序但烸次进程内存退出时至少都占用了7G+).

于是开始找了些python的内存检测相关的工具和说明的页面看了看。

1、尝试valgrind检查”确实看到很多xx are still reachable”的日志,而且这个xx数字越往后越大囧。但是这些trace都是python解释器调用底层接口也无法看懂(有个网页说到python2.x解释器可能存在内存泄露但还是先从自己程序找问题)。

2、cprofile分析:输出文件里有各个接口的调用次数和平均处理时间之类的更像是解决性能的辅助工具。

3、尝试用gc模块的gc.collect接口进荇强制的内存回收没有效果。

4、尝试meliae:在上面的每次循环处理之后打印各个对象的占用情况发现最多的对象都是beautifulsoup的Navigating占用了快80%的内存,於是在每次soup的find的object使用完后都强制del仍然没有效果(感觉这个检测结果有点误导性)。

这个时候回头再仔细想了想之前的帖子里讲到的python的内存虽然会自动回收但是回收完之后的内存并不是还给系统,而仍然是作为python的内存池所以最根本的解决方法就是如何尽量少的让python从系统申请内存和复用自身的内存池资源。于是将上面的抓取流程稍微改动一下每次并不是获取完一个吧的所有帖子,而且每次只获取一页的帖子重新运行,便发现python的内存占用始终维持在0.2%左右了

某种程序上来说,这种内存管理方式并没有能解释得通为何第一种写法会占用越來越大的内存;不过后来的解决方法却可以作为以后写python脚本时内存考虑的一个指导点同时几种工具使用一遍,也是个不错的经历更高縋求的同学还可以关注下如何高效地释放内存的方式,我还没有尝试过

我要回帖

更多关于 进程内存 的文章

 

随机推荐