Debian虚拟内存达到极限

作为系统的新手,我inheritance了Debian服务器,我注意到虚拟内存非常高(大约95%!)。 服务器运行缓慢大约6个月,我想知道你们中的任何一个人是否有任何提示,我可以尝试,特别是释放内存。 服务器托pipe各种网站,也是Postit电子邮件服务器。

以下是详细信息:

操作系统Debian Linux 5.0
 Webmin版本1.580
系统时间Thu Apr 12 11:12:21 2012
在x86_64上的内核和CPU Linux 2.6.18-6-amd64
处理器信息Intel(R)Core(TM)2 Duo CPU E7400 @ 2.80GHz,2个内核
系统正常运行时间为229天,12小时,50分钟
运行进程138
 CPU负载平均值0.10(1分钟)0.28(5分钟)0.36(15分钟)
 CPU使用率14%,1%内核,0%IO,85%空闲
实际内存总计2.94 GB,使用1.69 GB

虚拟内存总计3.93 GB,使用3.84 GB

本地磁盘空间总计142.84 GB,使用116.13 GB

免费m输出:

免费-m
             caching总共使用的空闲共享缓冲区
 Mem:3010 2517 492 0 107 996
 -  / + buffers / cache:1413 1596
交换:4024 3930 93

最高输出:

顶部 -  11:59:57最多229天,13:38,1位用户,平均负载:0.26,0.24,0.26
任务:总共136次,2次跑步,134次睡眠,0次停止,0次僵尸
 Cpu:3.8%us,0.5%sy,0.0%ni,95.0%id,0.7%wa,0.0%hi,0.0%si,0.0%st
 Mem:总共3082544k,使用2773160k,309384k空闲,111496k缓冲
交换:总共4120632k,使用4024712k,存放95920k,存入1036136k

   PID用户PR NI VIRT RES SHR S%CPU%MEM时间+命令                              
 28796 www-data 16 0 304m 68m 6188 S 8 2.3 0:03.13 apache2                               
     1 root 15 0 10304 592 564 S 0 0.0 0:00.76 init                                  
     2根RT 0 0 0 0 S 0 0.0 0:04.06迁移/ 0                           
     3根34 19 0 0 0 S 0 0.0 0:05.67 ksoftirqd / 0                           
     4根RT 0 0 0 0 S 0 0.0 0:00.00看门狗/ 0                            
     5根RT 0 0 0 0 S 0 0.0 0:00.06迁移/ 1                           
     6根34 19 0 0 0 S 0 0.0 0:01.26 ksoftirqd / 1                           
     7根RT 0 0 0 0 S 0 0.0 0:00.00看门狗/ 1                            
     8根10 -5 0 0 0 S 0 0.0 0:00.12事件/ 0                              
     9根10 -5 0 0 0 S 0 0.0 0:00.00事件/ 1                              
    10根10 -5 0 0 0 S 0 0.0 0:00.00 khelper                               
    11根10 -5 0 0 0 S 0 0.0 0:00.02 k线                               
    16根10 -5 0 0 0 S 0 0.0 0:15.51kblockd / 0                             
    17根10 -5 0 0 0 S 0 0.0 0:01.32kblockd / 1                             
    18根15 -5 0 0 0 S 0 0.0 0:00.00 kacpid                                
   127根10 -5 0 0 0 S 0 0.0 0:00.00 khubd                                 
   129根10 -5 0 0 0 S 0 0.0 0:00.00 kseriod                               
   180根10 -5 0 0 0 S 0 0.0 70:09.05 kswapd0                               
   181根17 -5 0 0 0 S 0 0.0 0:00.00 aio / 0                                 
   182根17 -5 0 0 0 S 0 0.0 0:00.00 aio / 1                                 
   780根16 -5 0 0 0 S 0 0.0 0:00.00 ata / 0                                 
   782根16 -5 0 0 0 S 0 0.0 0:00.00 ata / 1                                 
   783根16 -5 0 0 0 S 0 0.0 0:00.00 ata_aux                               
   802根10 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_0                             
   803根10 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_1                             
   804根10 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_2                             
   805根10 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_3                             
  1013根10 -5 0 0 0 S 0 0.0 49:27.78 kjournald                             
  1181根15 -4 16912 452 448 S 0 0.0 0:00.05 udevd                                 
  1544根14 -5 0 0 0 S 0 0.0 0:00.00 kpsmoused                             
  1706根13 -5 0 0 0 S 0 0.0 0:00.00 kmirrord                              
  1995根18 0 193m 3324 1688 S 0 0.1 8:52.77 rsyslogd                              
  2031根15 0 48856 732 608 S 0 0.0 0:01.86 sshd                                  
  2071根25 0 17316 1072 1068 S 0 0.0 0:00.00 mysqld_safe                           
  2108 mysql 15 0 320m 72m 4368 S 0 2.4 1923:25 mysqld                                
  2109根18 0 3776 500 496 S 0 0.0 0:00.00logging器                                
  2180 postgres 15 0 99504 3016 2880 S 0 0.1 1:24.15 postgres                              
  2184 postgres 15 0 99504 3596 3420 S 0 0.1 0:02.08 postgres                              
  2185 postgres 15 0 99504 696 628 S 0 0.0 0:00.65 postgres                              
  2186 postgres 15 0 99640 892 648 S 0 0.0 0:01.18 postgres                              

我猜测你的系统使用了很多交换空间(我认为webmin正在调用虚拟内存),因为你运行的是数据库。 你有两个MySQL和Postgres在同一个盒子上运行(你的意思是这样吗?我build议你只使用一个或另一个),根据你的数据/configuration,这是可能的,他们都要求为自己的内部caching大量的RAM。 有人一直在摆弄DB参数而不考虑他们会做什么?

如果我是正确的,那么使用数据库的应用程序可能看起来很慢,如果他们继续执行查找已经被交换出内存的数据库表。 前几天我发现了这个演示文稿:

http://thebuild.com/presentations/not-my-job.pdf

看起来相当不错(这家伙的博客通常是关于Postgres的大量信息)。