file-max設定過小導致oracle資料庫hang住
伺服器上ping報錯ping: socket: Too many open files in system
[root@rac1 ~]# ping 192.168.238.254
ping: socket: Too many open files in system
正常情況下“Too many open files in system”報錯都是open files引數設定過小導致。
root使用者和oracle使用者檢查,配置正常,如下:
[oracle@rac1 ~]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 64054
max locked memory (kbytes, -l) 14788901
max memory size (kbytes, -m) unlimited
open files (-n) 65536 <===============配置正常
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
message日誌報錯:
Feb 1 20:53:50 rac1 systemd: Looping too fast. Throttling execution a little.
Feb 1 20:53:50 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:51 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:51 rac1 systemd: Looping too fast. Throttling execution a little.
Feb 1 20:53:52 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:52 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:53 rac1 systemd: Looping too fast. Throttling execution a little.
Feb 1 20:53:53 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:53 rac1 kernel: VFS: file-max limit 790770 reached
Feb 1 20:53:54 rac1 kernel: VFS: file-max limit 790770 reached
檢查:
[root@rac1 ~]# sysctl -a | grep file-max
fs.file-max = 790770
[root@rac1 ~]# cat /proc/sys/fs/file-nr
2833920 0 790770
[root@rac1 ~]# cat /proc/sys/fs/file-nr
2838688 0 790770
[root@rac1 ~]# watch -n 1 cat /proc/sys/fs/file-nr
2993984 0 790770
當前開啟的檔案總數持續變大,超過了上限的預設值790770
修改fs.file-max值的大小:
sysctl -w fs.file-max = 6815744
或
vi /etc/sysctl.conf 增加
fs.file-max = 6815744
sysctl -p生效
修改後恢復正常,message異常告警消失。
另外:nr_open用於限制單個程式可以分配的最大檔案開啟數
cat /proc/sys/fs/nr_open
1048576
一個程式可以開啟的檔案數 < hard limit < nr_open,soft limit是告警值,可以超過這個值。
file-max作業系統對於檔案開啟數有一個全域性的限制,可以透過/proc/sys/fs/file-max檢視。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/22967847/viewspace-3006103/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle僵死會話鎖住buffer,導致資料庫hang住Oracle會話資料庫
- 導數時資料庫hang住分析資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- FAL_SERVER設定錯誤導致SWITCHOVER切換HANG住Server
- 中止程式導致系統HANG住
- Flash Recovery Area空間不足導致資料庫不能開啟或hang住資料庫
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- 資料庫hang住,分析處理資料庫
- 資料庫異常hang住解決資料庫
- Oracle 19.3資料庫impdp匯入view時hang住Oracle資料庫View
- oracle資料庫hang住分析工具Hanganalyze使用總結Oracle資料庫
- 解決memory_target設定過小導致不能啟動資料庫的問題資料庫
- 資料庫Hang住怎麼辦 - HANGANALYZE資料庫
- 儲存壞道造成資料庫hang住資料庫
- 由hugepage設定導致的資料庫事故資料庫
- RAC節點hang住, oracle bug導致了cpu過高,無法啟動叢集隔離Oracle
- stream pool設定過小導致impdp失敗
- Oracle11G密碼延遲驗證導致的系統HANG住Oracle密碼
- 密碼延遲驗證導致的系統HANG住密碼
- oracle 10gR2 用emca命令線上重建em會導致資料庫hangOracle 10g資料庫
- 【shmmax】由於shmmax設定過小導致dbca建庫無法完成HMM
- 資料庫Hang住怎麼辦 - HANGANALYZE[final]資料庫
- AIX下nfs故障導致oracle process hangAINFSOracle
- 記一次Oracle資料庫無響應(hang住)故障的處理Oracle資料庫
- 如何診斷oracle資料庫執行緩慢或hang住的問題Oracle資料庫
- 【Oracle】資料庫hang 診斷Oracle資料庫
- 19c資料庫impdp匯入view時hang住資料庫View
- 恢復資料庫hang住/parallel recovery read buffer free資料庫Parallel
- mysql主鍵的缺少導致備庫hangMySql
- 使用plsql/devlop編譯過程hang住案列小結SQLdev編譯
- AIX下由於nfs故障導致oracle hangAINFSOracle
- 11gR2修改使用者後導致系統HANG住
- oracle資料庫設定Oracle資料庫
- 【YashanDB知識庫】yac修改引數後關閉資料庫hang住資料庫
- 【Mysql】mysql主鍵的缺少導致備庫hangMySql
- ORACLE RAC 11.2.0.4 ASM加盤導致叢集重啟之ASM sga設定過小OracleASM
- 快取穿透導致資料庫效能不穩定快取穿透資料庫
- memlock過低導致的資料庫效能問題資料庫