file-max设置过小导致oracle数据库hang住

2024-02-02 12:04

本文主要是介绍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查看。

这篇关于file-max设置过小导致oracle数据库hang住的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670646

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE