Oracle ORA-27102的解决办法(out of memory)

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

-前置:

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

-原因:

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

-那么,怎么解决?

解决方案:

一、Linux系统:
1.查看Linux进程内存占用情况:

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

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

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3440 root 20 0 132m 27m 1056 S 7.3 0.1 1511:06 phdaemon
102435 root 20 0 15428 1724 948 R 0.7 0.0 0:00.04 top
144524 root 20 0 15.2g 1.9g 7156 S 0.7 6.1 9:17.07 java
2277 root 20 0 15.2g 1.6g 13m S 0.3 5.2 2:02.41 java
9312 root 20 0 102m 2168 992 S 0.3 0.0 2:52.20 oraysl

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的使用率

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

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

  COMMAND:进程启动命令名称

常用命令:
  P:按%CPU使用率排行

  T:按MITE+排行

  M:按%MEM排行


























注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!


持续更新中…

如有对思路不清晰或有更好的解决思路,欢迎与本人交流,QQ群:273557553,个人微信:
你遇到的问题是小编创作灵感的来源!


你可能感兴趣的:(错误总结,数据库)