为什么内存占用那么多
Tofloor
poster avatar
yao1357968869
deepin
2014-12-16 22:13
Author
,看了一会视频   然后关了   为什么内存占用那么多  1.5g了   开机内存不到500m
Reply Favorite View the author
All Replies
ArthurDeepin
deepin
2014-12-16 22:42
#1
相对较正常的数值,只要电脑没有明显卡顿,内存多占点问题不大。不放心可以在终端输入top看看细节,然后发到论坛来
Reply View the author
ArthurDeepin
deepin
2014-12-16 22:47
#2
网页上看视频可能是flash的问题
Reply View the author
4***8@qq.com
deepin
2014-12-17 03:12
#3
linux下的flash真是耗资源啊,在俺的老本子上简直没法看视频!
Reply View the author
oaker
deepin
2014-12-17 03:45
#4
深度音乐占内存很大
Reply View the author
yao1357968869
deepin
2014-12-17 04:30
#5
liu 浏览器关了以后   内存降了一点  但还是 比 开机时高很多  怎么降下去呢    cpu占用也不少啊   wen7可没有那么多
Reply View the author
yao1357968869
deepin
2014-12-17 04:43
#6
今天deepin  我用了一天  只是中午时 忽然没有反应了    平时关机重启  今天自动到输入密码 进入桌面
不知为什么      不过这样野蛮好 以后就不要重启了   
2014.2  版本确实进步好多  今天第一次用这么长时间   以前 一会花屏  一会又死机
Reply View the author
deepin
deepin
2014-12-17 16:59
#7
linux下的内存管理机制和windows不太一样,它会尽量使用内存作为系统缓存。只要使用本身没有出现瓶颈,不用刻意关注内存使用量。
Reply View the author
wuy069
deepin
2014-12-17 17:33
#8
linux下的内存管理机制和windows不太一样,它会尽量使用内存作为系统缓存。只要使用本身没有出现瓶颈,不用刻意关注内存使用量。
Linux内存管理机制确实和windows不太一样,从他top的情况来看是3319516 used,这并不代表就是完全使用了3个多G的内存,真实使用的内存是used-(buffers+cache),从其top情况,使用内存是3319516-(89524+1406428)=1823564,为1.7G,跟他用系统监视看的一样。这个是没问题的。如果想释放内存,执行
  1. sudo sync
Copy the Code
  1. sudo echo 3 > /proc/sys/vm/drop_caches
Copy the Code

不过他的CPU占用的确很高。
Reply View the author
stephenjy
deepin
2014-12-17 17:43
#9
[quote]linux下的内存管理机制和windows不太一样,它会尽量使用内存作为系统缓存。只要使用本身没有出现瓶颈,不用刻意关注内存使用量。
Linux内存管理机制确实和windows不太一样,从他top的情况来看是3319516 used,这并不代表就是完全使用了3个多G的内存,真实使用的内存是used-(buffers+cache),从其top情况,使用内存是3319516-(89524+1406428)=1823564,为1.7G,跟他用系统监视看的一样。这个是没问题的。如果想释放内存,执行
  1. sudo sync
Copy the Code
  1. sudo echo 3 > /proc/sys/vm/drop_caches
Copy the Code

不过他的CPU占用的确很高。[/quote]

sync命令不需要sudo,理论上也不会占用什么CPU(在top里面看wa这一列可能会高一会儿)。

sync仅仅是让操作系统将还没有写回磁盘的修改立刻写回去。但是并不会减少cached内存使用量。在绝大多数情况下,不用去管cached的内存用量,它不影响你的程序正常申请内存,但是cached内存会很有效的减少对磁盘的io操作,提升性能,延长磁盘寿命。

顺便也提一下CPU的使用,top里面看到的wa这一项,跟内存的cached一样,也是可以被挪用的,也就是其他程序如果需要CPU,就可以挪用wa占的这部分cpu。但是实际体验上,因为桌面使用场景里很少会有纯耗CPU却不需要io的情形,当wa比较高时,通常意味着io是瓶颈了,这时候用户就会感觉到系统或者软件有卡顿的现象。
Reply View the author
wuy069
deepin
2014-12-17 17:52
#10
sync命令不需要sudo,理论上也不会占用什么CPU(在top里面看wa这一列可能会高一会儿)。

sync仅仅是让操作系统将还没有写回磁盘的修改立刻写回去。但是并不会减少cached内存使用量。在绝大多数情况下,不用去管cached的内存用量,它不影响你的程序正常申请内存,但是cached内存会很有效的减少对磁盘的io操作,提升性能,延长磁盘寿命。

顺便也提一下CPU的使用,top里面看到的wa这一项,跟内存的cached一样,也是可以被挪用的,也就是其他程序如果需要CPU,就可以挪用wa占的这部分cpu。但是实际体验上,因为桌面使用场景里很少会有纯耗CPU却不需要io的情形,当wa比较高时,通常意味着io是瓶颈了,这时候用户就会感觉到系统或者软件有卡顿的现象。
我又没说执行sync可以减少cached的内存,执行sync是很有必要的,你不用sudo这个只是执行了你用户自己进程的同步,对于系统的进程起不到作用。他有4G内存,现在只用了1.7G内存,的确没必要释放内存,如果cached内存比较多要接近物理内存,这时释放内存是有必要的。
关于CPU使用,你都没看他的top情况,在那说啥啊,wa才0.5%,其他的CPU使用还是很高的。
Reply View the author
stephenjy
deepin
2014-12-17 18:05
#11
我又没说执行sync可以减少cached的内存,执行sync是很有必要的,你不用sudo这个只是执行了你用户自己进程的同步,对于系统的进程起不到作用。他有4G内存,现在只用了1.7G内存,的确没必要释放内存,如果cached内存比较多要接近物理内存,这时释放内存是有必要的。
关于CPU使用,你都没看他的top情况,在那说啥啊,wa才0.5%,其他的CPU使用还是很高的。

从来没有哪个正规的教程上会说“执行sync是很有必要的”,在绝大多数时候,用户根本不需要知道sync这个命令。而且,看来你对sync这个命令的作用也并不了解。不妨看一下 man page:
  1. man sync
  2. NAME
  3.        sync - flush file system buffers
  4. SYNOPSIS
  5.        sync [OPTION]
  6. DESCRIPTION
  7.        Force changed blocks to disk, update the super block.
  8.        --help display this help and exit
  9.        --version
  10.               output version information and exit
  11. ...
Copy the Code

这里压根就没有提到内存,跟释放内存没有一点点关系,它的作用仅仅是让操作系统将还没有写回磁盘的数据立刻写回去(否则需要等到操作系统调度下一次自动写回,一般是1-2分钟左右一次,根据各发行版内核参数配置而定,除了一些专门做应用场景优化的服务器以外,很少有人会调整这个参数。)

cached内存再多都没有关系。Linux在有空闲内存时,会尽可能的使用起来作为磁盘的缓存。而当应用需要使用内存时,操作系统也会及时释放。你手动去释放这个cached内存,在绝大多数情况下没有意义。一般也之有在极端环境下的服务器有这种需求,比如某些服务器,服务程序要读写的数据远大于内存时,Linux内核默认的缓存策略可能并不是该场景下最优的;或者另一种场景,在一些可预计性很强、且对响应要求很高的场景下,服务器会在空闲时尽可能将cached内存释放掉,以在突发大量请求时可以更快速的申请到内存。这种优化基本上都是毫秒级别的,在桌面的场景下,用户根本感受不到。而普通用户总是刻意的去释放cached内存,只会增加磁盘的负载,降低应用响应的速度。

我最后提CPU的事,跟题主的不是一回事,只算是补充知识,造成误解,非常抱歉。
Reply View the author
yao1357968869
deepin
2014-12-17 18:43
#12
大家看看这怎么了
Reply View the author
bixushi
deepin
2014-12-18 22:35
#13
加油!加油!我顶你个椅子!
Reply View the author
Ldeepin
deepin
2014-12-19 04:04
#14
内存不用就浪费!如果一个8g的内存,平时都只用到1-2g,那不就有6g浪费了。还不如买个4g的。所以说,不用去管内存用了多少。不卡,流畅,就没有问题。毕竟不是windows一键加速。可能表达得不清楚,反正意思就是内存是拿来用的。
Reply View the author
knightlu
deepin
2014-12-19 18:18
#15
linux和win7一样的,用不掉的内存就会当缓存用起来提高速度,所以跟xp比看上去费内存
Reply View the author