Linux系统调优详解(十一)——IO调优之文件打开数目限制

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
简介: Linux系统调优详解(十一)——IO调优之文件打开数目限制

今天继续给大家介绍Linux运维相关知识,本文主要内容是IO调优,查看或修改文件的最大打开数目。

一、资源限制简介
执行命令:

ulimit -a
1
可以查看当前系统中对资源的限制情况,该命令的执行如下所示:

注意看上图中红色标注部分,该数值表示当前最多打开的文件数,其他的参数有包括内存使用、打开进程数限制等。

二、资源限制修改
如果我们要对上述设置进行修改,那么就需要修改/etc/security/limits.conf文件,打开该文件后,我们跳转到该文件的末尾,可以看到该文件的配置示例,如下所示:

我们需要配置4个参数,即用户(组)名、类型、选项和限制的值。
加入我们要对用户打开文件数的限制进行修改,可以添加如下内容:

  • soft nofile 2048
    1
    修改完成后的配置文件如下所示:

在上述设置中,*表示任意用户(组)、soft表示超出限制后会进行警告,如果配置为hard,则表示超出限制后会报错,nofile表示限制文件打开数,2048表示该限制的值。
注意,这样修改后,必须重启系统才可以生效,如果我们想要立即生效,可以执行命令:

ulimit -n 2048
1
修改完成后,我们执行ulimit -a命令查看,结果如下所示:

从上图中可以看出,我们对文件打开数的限制修改成功!

三、配置文件说明
上述配置文件(/etc/security/limits.conf)是模块pam_limits.so的配置文件,pam_limits.so的配置文件主要有以下三个目录:
1、/lib64/security/
即pam模块所在的目录。
2、/etc/security/
即pam每个模块的配置文件。
3、/etc/pam.d/
即使用pam模块的服务和应用程序。
执行命令:

grep pam_limits.so /etc/pam.d/ -R
1
可以查看系统中使用该模块的程序和服务,该命令执行结果如下所示:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/125381926

目录
相关文章
|
30天前
|
XML JSON Ubuntu
Linux系统之tree命令的基本使用
Linux系统之tree命令的基本使用
141 3
Linux系统之tree命令的基本使用
|
1月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
244 17
|
1月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
19天前
|
存储 Linux 内存技术
linux系统查看硬盘序列号
本文介绍在Linux系统中查看硬盘信息的三种方法:1) 使用`hdparm`工具,通过`sudo hdparm -i /dev/sda`获取硬盘序列号和型号;2) 使用`smartctl`工具,不仅可查序列号和型号,还能了解硬盘健康状态;3) 使用`lshw`命令显示存储设备拓扑信息。此外,提供通用技巧如用`lsblk`确认磁盘标识,及注意事项,例如管理员权限和云主机可能隐藏物理序列号等。
|
20天前
|
Linux C语言 网络架构
Linux的基础IO内容补充-FILE
而当我们将运行结果重定向到log.txt文件时,数据的刷新策略就变为了全缓冲,此时我们使用printf和fwrite函数打印的数据都打印到了C语言自带的缓冲区当中,之后当我们使用fork函数创建子进程时,由于进程间具有独立性,而之后当父进程或是子进程对要刷新缓冲区内容时,本质就是对父子进程共享的数据进行了修改,此时就需要对数据进行写时拷贝,至此缓冲区当中的数据就变成了两份,一份父进程的,一份子进程的,所以重定向到log.txt文件当中printf和fwrite函数打印的数据就有两份。此时我们就可以知道,
|
20天前
|
存储 Linux Shell
Linux的基础IO
那么,这里我们温习一下操作系统的概念我们在Linux平台下运行C代码时,C库函数就是对Linux系统调用接口进行的封装,在Windows平台下运行C代码时,C库函数就是对Windows系统调用接口进行的封装,这样做使得语言有了跨平台性,也方便进行二次开发。这就是因为在根本上操作系统确实像银行一样,并不完全信任用户程序,因为直接开放底层资源(如内存、磁盘、硬件访问权限)给用户程序会带来巨大的风险。所以就向银行一样他的服务是由工作人员隔着一层玻璃,然后对顾客进行服务的。
|
2月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
164 19
|
2月前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
137 17
|
10月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
11月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用