程序进入swap后如何返回内存?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
ioskl
帖子: 10
注册时间: 2008-11-14 15:31

程序进入swap后如何返回内存?

#1

帖子 ioskl » 2009-08-26 17:04

:em20
A程序大部分进入了swap,速度很慢。然后内存被其他程序释放,空出很大的内存,
如何让A程序重新返回物理内存,提高速度?
在网上找了很长时间,没有发现办法。
哪位大虾知道阿?
头像
windwhinny
帖子: 618
注册时间: 2007-09-26 17:34

Re: 程序进入swap后如何返回内存?

#2

帖子 windwhinny » 2009-08-26 17:11

这貌似是内核自己控制的吧
头像
chinesejerry
帖子: 510
注册时间: 2007-10-06 3:48
来自: 霍格沃茨魔法学校葛莱芬多学院
联系:

Re: 程序进入swap后如何返回内存?

#3

帖子 chinesejerry » 2009-08-26 18:13

理论上他会回到内存的。
Because...nobody really uses an operating system,
people use...programs...on their computer.
And the only mission in life of an operating system is to helps those programs run.
----Linus
ioskl
帖子: 10
注册时间: 2008-11-14 15:31

Re: 程序进入swap后如何返回内存?

#4

帖子 ioskl » 2009-08-27 8:16

:em06
但是事实证明,它确实不会回到内存去。
有什么方法把它赶回内存去?
头像
tomcat.xin
帖子: 400
注册时间: 2007-02-08 21:18

Re: 程序进入swap后如何返回内存?

#5

帖子 tomcat.xin » 2009-08-27 8:43

的确是不回内存的
我的做法是关了重开
或者干脆重启
当然,最好设置下让系统在没有选择的情况下才用swap
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 程序进入swap后如何返回内存?

#6

帖子 BigSnake.NET » 2009-08-27 11:38

ioskl 写了::em06
但是事实证明,它确实不会回到内存去。
有什么方法把它赶回内存去?
该回就会回的了
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
yuu1010
帖子: 185
注册时间: 2008-04-11 23:31

Re: 程序进入swap后如何返回内存?

#7

帖子 yuu1010 » 2009-08-27 11:57

ioskl 写了::em06
但是事实证明,它确实不会回到内存去。
有什么方法把它赶回内存去?
怎么知道它在不在内存呢?
头像
xieshaohu
帖子: 1565
注册时间: 2007-10-24 20:20
来自: 北京、海淀
联系:

Re: 程序进入swap后如何返回内存?

#8

帖子 xieshaohu » 2009-08-27 12:39

你使用它的时候,它就回到内存了。
虽然这个时候SWAP使用量还是没有什么变化。
Dell Vostro 1500, T7300/4GB/WD5000BEVT/nVidia 8400GM, Ubuntu 10.04 x86_64/VMware 7(Win7)
我的博客:http://xieshaohu.wordpress.com/
def
帖子: 848
注册时间: 2009-07-05 19:36

Re: 程序进入swap后如何返回内存?

#9

帖子 def » 2009-08-27 13:13

恩,我用VirtualBox时就一去不回。。。
ioskl
帖子: 10
注册时间: 2008-11-14 15:31

Re: 程序进入swap后如何返回内存?

#10

帖子 ioskl » 2009-08-27 17:35

tomcat.xin 写了:的确是不回内存的
我的做法是关了重开
或者干脆重启
当然,最好设置下让系统在没有选择的情况下才用swap
程序A(比如仿真)不能重启,或者说已经跑了很长时间了,重新来过太划不来。
ioskl
帖子: 10
注册时间: 2008-11-14 15:31

Re: 程序进入swap后如何返回内存?

#11

帖子 ioskl » 2009-08-27 17:37

xieshaohu 写了:你使用它的时候,它就回到内存了。
虽然这个时候SWAP使用量还是没有什么变化。
你说的话好像自相矛盾。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 程序进入swap后如何返回内存?

#12

帖子 BigSnake.NET » 2009-08-27 17:46

是这样的, 一旦 A 要访问被 swap 的部分, 必须先把该内存块 swap 回内存.

至于 swap 使用量没降, 可能是其他原因
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: 程序进入swap后如何返回内存?

#13

帖子 delectate » 2009-08-27 18:24

当初安装时没分swap,没法试验。

突发奇想:swap能umount吗?

假想:如果swap是单个磁盘,需要更换,热插拔前需要umount

不会说重启换磁盘吧!
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 程序进入swap后如何返回内存?

#14

帖子 BigSnake.NET » 2009-08-27 18:58

delectate 写了:当初安装时没分swap,没法试验。

突发奇想:swap能umount吗?

假想:如果swap是单个磁盘,需要更换,热插拔前需要umount

不会说重启换磁盘吧!
swapoff device
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
ioskl
帖子: 10
注册时间: 2008-11-14 15:31

Re: 程序进入swap后如何返回内存?

#15

帖子 ioskl » 2009-08-27 19:34

BigSnake.NET 写了:是这样的, 一旦 A 要访问被 swap 的部分, 必须先把该内存块 swap 回内存.

至于 swap 使用量没降, 可能是其他原因
听起来好像有点道理。
thank you!
:em11
使用量没有下降,是否是说swap起来的部分基本上没有用上。或者是磁盘太忙,排的队太长。
回复