bladecom 发表于 2004-7-28 15:44:40

linux的内存占用量大的问题

我装了一个服务器,但是运行时间长了内存占用量就特别大。用free命令结果如下:
             total       used       free   shared    buffers   cached
Mem:      376460   362820      13640          0   125468   148908
-/+ buffers/cache:      88444   288016
Swap:       409648       7528   402120


不知道是哪里的问题,请指教

lizhuoru 发表于 2004-7-29 12:03:23

因为linux把剩余的内存都用做磁盘缓存了,这样可以减少硬盘读写次数

ImummyI 发表于 2004-7-29 18:16:53

ding

bladecom 发表于 2004-7-30 10:28:42

但是这样感觉系统很慢,有没有办法限制使用内存的数量?

lizhuoru 发表于 2004-7-30 11:03:31

这样并不会影响系统速度,如果你觉得慢可能是开着一些没必要的服务,具体哪些服务可以关掉自己搜索一下论坛

bzimage 发表于 2004-7-30 14:00:04

Linux在磁盘操作上的速度是要比windows快的,一个例子是使用bittorent时windows下使用久了可能会对硬盘不好,而在linux下是不会对硬盘有害的,为什么呢,因为两个系统为磁盘开的缓冲大小不同,windows开的是一个相对较小的缓冲,更多的是靠磁盘硬件来进行缓冲,而Linux则是把所有的可用的内存都用来做磁盘缓存,在有新的进程(程序)运行时,退出一部分缓存给进程,这样一来,你就会发现你的Linux系>统可用内存好象总是很小。这不是某个发行版的问题,是所有Linux都有这个现象。
                                                                                                                           
用free可以查看内存,比如下面是我机器的情况
# free
                   total   used    free   shared    buffers   cached
Mem:               25704424190815136    0         12764       60880
-/+ buffers/cache:         16826488780
Swap:            265032900   264132
                                                                                                                           
一共有四行,第二行显示只有15M空闲内存,但是被buffer的和cache的分别是12M和61M,所以在第3行你就看到了free的内存是88M,怎么来>的88
= 15 + 12 + 61, 所以系统真正能用的物理内存大小,现在是88M。


楼主的机器实际空闲内存为288M,实际使用内存为88M,内存使用率是88/288
页: [1]
查看完整版本: linux的内存占用量大的问题