关于linux开启图形界面后,根目录一直占用内存增长的原因占用会每秒增加4个数据块,而且没有停止或系统回收的迹象:以下是我的想法问题分析及解决方法:主机环境:CentOS6.5软件环境:Oracle11gR2在根目录手动执行du-ks*操作不显示哪个文件增长慢,几个文件夹占用磁盘空间大被分割成独立的文件系统,更难定位问题。通过分析根目录的增长,每秒都有一个增长,说明问题是实时存在的,而且可能不是某个文件,所以考虑这个问题需要上升到操作系统层面。通过观察/dev/shm目录下的文件,发现其中有很多以ORA开头的二进制文件:这些文件存在于/dev/shm中,并不是一个单独的物理文件系统,而是一个虚拟的,用在dev为交换空间创建了一个文件。观察其中一个文件证明这个想法是正确的。文件中的数据确实是二进制的,是实际业务中的信息:观察到这一点,联系linux系统的特点,只有在物理内存不够用的时候才会使用。交换空间用于分配内存,这意味着物理内存很可能会被耗尽。执行free-g命令查看当前内存状态:注:我这里也有点不清楚。看起来Linux虚拟机上所有数据库的内存都会被用满,但是在这种情况下,buffers/cache明显异常。在服务器上执行top命令,发现有异常进程占用内存超过50g:查询进程名nautilus,发现该进程为图形界面文件管理器的进程。数据库安装后,不需要图形化。该接口是用来操作服务器的,直接杀掉。再次使用free-g命令查看内存使用情况:当前内存已经达到正常状态。使用df命令查看根目录的增长情况:根目录每秒的自增长已经停止。总结:数据库安装好后,就不用多用图形了。可以全部卸载,然后修改系统到3级,启动到命令界面。不同的环境可能会有不同的bug,需要注意。这个case看似很小,可能很多人不注意观察也不会在意,但是如果根目录达到100%,DB会怎么样呢?呵呵。
