网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
cat /proc/sys/fs/file-max
系统级别最大限制(所有进程打开的不能超过)
下面的可简单看,可忽略
cat /proc/sys/fs/file-nr
当前系统已经占用的句柄
[root@izm3mkp4g43hdqz ~]# cat /proc/sys/fs/file-nr
1952 0 184294
结果说明:第一个数表示当前系统已分配的文件描述符数(文件句柄数),第二个数为分配后已释放的文件描述符数(当前不再使用的文件描述符数),第三个数为最大文件描述符数,等于file-max。
lsof -n |grep 1549 -c
某个进程已经占用的句柄
================================================================
- 临时生效(重启失效) :
ulimit -n 65535
修改当前的用户级别的,但是生效范围是当前的session(即当前的shell窗口),即关掉这个窗口,再次打开就不生效了。
- 永久生效
如何每次都生效?
修改环境变量 将 ulimit -n 65535
加入到 /etc/profile 文件,并source /etc/profile使生效,其实是障眼法,相当于每个用户进来执行一次ulimit -n 65535
这个命令
如何更好的每次都生效(推荐
)?
修改/etc/security/limits.conf文件
-
soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)
-
hard nofile 65536 #限制单个进程最大文件句柄数(到达此限制时系统报错)
//* 是所有用户的意思 ,也可以改成 xiaoming soft nofile 32768 就是针对于小明用户的
ulimit -Sn 能查看或设置soft limit ulimit -Hn能查看或设置hard limit
ulimit -n默认查看的是soft limit
soft limit不能大于hard limit
cat /proc/sys/fs/nr_open
能够查看单个进程级别的
hard limit一定不能大于/proc/sys/fs/nr_open,否则用户注销后无法正常登录。
为什么不能大于?我是这么理解的:当前用户想要操作这个进程的最大文件数,但是你再大也不能超过系统级别的单个进程的限制,即nr_open
如果想要大于怎么办?那就提前修改nr_open的值:
- 临时生效(重启失效) :
echo 2000000 > /proc/sys/fs/nr_open
- 永久生效:
sysctl -w fs.nr_open=100000000 或者 直接写入sysctl.conf文件
fs.nr_open=100000000
运行命令:/sbin/sysctl -p 使配置生效
- 临时生效(重启失效):
echo 1000000 > /proc/sys/fs/file-max
- 永久生效:
修改文件/etc/sysctl.conf
fs.file-max=655350 #限制整个系统最大文件句柄数
运行命令:/sbin/sysctl -p 使配置生效
================================================================
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!