oracle11 管理员账号Oracle ORA-27102问题的解决办法

Oracle ORA-27102:out of memory 错误解决办法(简单粗暴,100%能解决内存占用问题)

-前置:

当遇到这个问题,笔者也是一脸的茫然,然后就是查资料,在笔者查阅了很多相关资料后发现什么优化、配置sysctl.conf内存最大最小值后发现也都没啥太大的作用(笔者的/etc/sysctl.conf已经配置与内存同样大小),最终还是通过比较简单粗暴的方式将问题解决,直接结束现有进程。

-原因:

由于Linux下运行的进程占用物理内存过多,虚拟内存过大,虚拟内存不释放导致系统内存不足,这是问题的根本!

-那么,怎么解决?

Linux系统:

解决:

1.查看Linux进程内存占用情况:

(1)使用top命令:$ top -u oracle 或 top -10

2.筛选结果(如结果显示PID为144524的java进程占用了1.9G的物理内存):

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

3440root200132m27m1056S7.30.11511:06phdaemon102435root200154281724948R0.70.00:00.04top144524root20015.2g1.9g7156S0.76.19:17.07java2277root20015.2g1.6g13mS0.35.22:02.41java9312root200102m2168992S0.30.02:52.20oraysl………………………………

3.根据PID结束进程命令:

(1)如果不想结束整个java进程,还可以使用ps命令:$ ps -ef|grep java

(2)找到可以结束的进程PID,在使用kill命令:$ kill -9 144524

(3)直到再次登录。

内容解释:

PID:进程的ID

USER:进程所有者

PR:进程的优先级别,越小越优先被执行

NInice:值

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用oracle账号率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称

常用命令:

P:按%CPU使用率排行

T:按MITE+排行

M:按%MEM排行

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。