ubuntu

Ubuntu lsnrctl内存占用高怎么解决

小樊
31
2025-12-05 06:42:58
栏目: 智能运维

Ubuntu 上 lsnrctl 内存占用高的定位与处理

一、先确认是否真的是监听器进程在涨内存

二、常见根因与对应处理

场景 典型现象 快速验证 处理建议
连接风暴或会话泄漏 短时间内连接数激增,listener.log 出现频繁连接/断开 lsnrctl status 看当前服务/连接数;netstat/ss 看 ESTAB 数量 在应用侧修复连接泄漏、设置合理连接池与超时;必要时在 listener.ora 限制 SID/服务、启用连接速率限制(如 SEC_PROTOCOL_ERROR_TRACE_ACTION)
监听器日志或跟踪过大 磁盘 /var/log 或 $ORACLE_HOME/network/log 快速增大 du -sh $ORACLE_HOME/network/log;ls -lh listener.log 轮转并压缩日志;仅在排障时短时开启 trace,用后关闭
内核 slab 占用高(非进程本身) top 看不出异常进程,但 free 显示 used 高 cat /proc/meminfo 看 Slab;slabtop 观察 dentry 等 先 sync;再 echo 2 > /proc/sys/vm/drop_caches 临时回收;优化业务 IO 与目录遍历;按需调整 vm.min_free_kbytes
统计口径误判(缓存/缓冲) “used”高但可用内存充足,系统无明显卡顿 free -h 中 buffers/cache 占比高 这是 Linux 为提高性能使用的文件缓存,通常无需处理;仅在特殊场景临时 drop_caches(不建议长期)

说明:

三、立即可执行的排查与修复步骤

  1. 基线采集
  1. 判断是否为“假高”(缓存/缓冲)
  1. 判断是否为“真高”(进程或内核 slab)
  1. 控制与优化

四、监控与长期治理

0
看了该问题的人还看了