一、修改最大连接数
1、查看当前文件描述符的限制数目的命令:
ulimit -n
2、修改文件描述符的限制数目
2.1 临时改变当前会话:
ulimit -n 65536
2.2 永久变更需要下面两个步骤:
1) 修改/etc/security/limits.conf 文件(注意带着前面的*号),如下:
vi /etc/security/limits.conf
*               soft    nofile           570000
*               hard    nofile           570000
保存退出后重新登录,其最大文件描述符已经被永久更改了;但是需要经过下面的步骤2)之后才能生效。
2) 重新加载库:
打开文件:
vi /etc/pam.d/login
在最后加上:
session    required /lib64/security/pam_limits.so
即可
3.查看和修改系统的最大打开文件限制
位置: /proc/sys/fs/file-max
查看命令
 cat /proc/sys/fs/file-max
修改:
通过vi修改 /etc/sysctl.conf 文件,在该文件中加上:

fs.file-max=2000000

可以在令针对此参数 的修改一直生效,在该文件中,修改完后执行命令:

sysctl -p
使修改立即生效,而无需重启;
可使用下面两条命令验证一下修改是否成功:
cat /proc/sys/fs/file-max
或者
sysctl fs.file-max

4.修改nr_open
通过vi修改 /etc/sysctl.conf,在该文件中加上:
fs.nr_open = 2000000
可以在令针对此参数 的修改一直生效,在该文件中,修改完后执行命令:
sysctl -p
使修改立即生效,而无需重启;


注意:

a.    所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

b.    单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

c.    nofile的soft limit不能超过其hard limit

d.    nofile的hard limit不能超过/proc/sys/fs/nr_open

二、修改端口限制
主要是对内核参数sysctl.conf的优化,/etc/sysctl.conf 是用来控制linux网络的配置文件,对于依赖网络的程序(如web服务器和cache服务器)非常重要,RHEL默认提供的最好调整。推荐配置(把下面内容添加进去):
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save = 1
net.core.somaxconn = 22144
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
vm.overcommit_memory = 1
fs.file-max = 2000000
fs.nr_open = 2000000
这个配置参考于cache服务器varnish的推荐配置和SunOne 服务器系统优化的推荐配置。这里有个对端口范围的限制如果不做修改原始的返回只有2.8万个port区间。
对上述内存参数的具体操作命令示例:
1)查看端口范围:
[root@slave2 sub_client]# sysctl -a | grep range
net.ipv4.ip_local_port_range = 1024 65000
2)修改内核参数sysctl.conf,打开该文件,
vi /etc/sysctl.conf
如果文件中有参数net.ipv4.ip_local_port_range的配置,则将其修改为:
net.ipv4.ip_local_port_range = 1024 65000
否则,直接加上这句话。
3)让配置立即生效:
sysctl -p
另外,端口范围参数net.ipv4.ip_local_port_range不要超过1024和65535,1024以下系统使用,65535以上设置会会提示失败:
error: "Invalid argument" setting key "net.ipv4.ip_local_port_range"

三、查看linux下虚拟内存情况

   使用命令free,例如:

[root@cddserver1 log_rd]# free
                  total               used        free          shared    buffers     cached
Mem:       7950788    1144080    6806708          0       51432      832588
-/+ buffers/cache:     260060      7690728
Swap:      8093688       9764         8083924

-------------------------------------------------

在linux kernel 2.6.25之前通过ulimit -n(setrlimit(RLIMIT_NOFILE))设置每个进程的最大打开文件句柄数不能超过NR_OPEN (1024*1024),也就是100多w(除非重新编译内核),而在25之后,内核导出了一个sys接口可以修改这个最大值(/proc/sys/fs /nr_open).具体的changelog

查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等相关推荐

  1. 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等...

    一.修改最大连接数 1.查看当前文件描述符的限制数目的命令: ulimit -n 2.修改文件描述符的限制数目 2.1 临时改变当前会话: ulimit -n 65536 2.2 永久变更需要下面两个 ...

  2. 嵌入式Linux系统编程学习之九基于文件描述符的文件操作

    文章目录 前言 一.文件描述符 二.打开.创建和关闭文件 三.读写文件 四.改变文件大小 五.文件定位 六.原子操作 七.进一步理解文件描述符 八.文件描述符的复制 九.文件的锁定 十.获取文件信息 ...

  3. linux 修改最大线程,修改linux系统用户最大线程数限制

    遇到了坑就记下来,养成一个好习惯,利人利己.java tomcat启动后总是报错:java.lang.OutOfMemoryError: unable to create new native thr ...

  4. Linux 下的0 1 2特殊文件描述符~

    最近在做项目的时候遇到的几个知识点,我觉得非常有意思,以前学Linux的时候也有接触到管道方面的,但是在应用中却基本没有遇到过. 还有Linux下的几个特殊的文件描述符,用这几个文件描述符可以做很多事 ...

  5. 关于文件句柄数和文件描述符的区分

    在一次生产环境上,用户那边反馈服务连接redis异常,经过查看redis的日志,报打开文件数过多,通过lsof去查看文件句柄数确实超过了主机限制的句柄数,只能先重启redis进行释放连接数,进行恢复业 ...

  6. Linux中的进程、线程和文件描述符

    说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案: 在 Linux 系统中,进程和线程几乎没有区别 . Linux 中的进程就是一个数据结构,看明白就可以理解文件描述符.重定向 ...

  7. Linux操作系统~系统文件IO,什么是文件描述符fd?什么是vfs虚拟文件系统

    目录 1.open() (1).第二个参数flags-通过比特位传多组标记 2.文件描述符fd(open函数的返回值) (1).fd的本质 (2).vfs-虚拟文件系统(一切皆文件) (3).调用re ...

  8. 修改linux系统用户最大线程数限制

    linux系统对线程数量有个最大限制,当达到系统限制的最大线程数时使用账号密码ssh到系统时是无法登陆的,会报Write failed: Broken pipe,或者是shell request fa ...

  9. linux系统怎么看时间,查看和修改linux系统时间

    一.查看和修改Linux的时区1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区方法 A 命令 : "tzselect" 方法 ...

最新文章

  1. Git学习教程(六)Git日志
  2. python课程将主要介绍哪些内容-Python课程详细介绍
  3. 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
  4. C++设计模式之一 工厂模式(简单工厂、工厂和抽象工厂)
  5. Solr5.2.1-Cloud-Zookeeper快速搭建
  6. 网站发布后验证码不显示
  7. ASP .NET中一个可以用来大作文章的地方。
  8. HTML设置自动跳转后无反应,实际项目中html跳转无响应原因及解决方案总结
  9. Apple Pay接入详细教程
  10. 广告法违禁词替换工具_广告法违禁词、敏感词检测工具
  11. 区块链底层架构概览:第一原则框架
  12. SwiftUI 面试问题大全
  13. 【金融项目】尚融宝项目(十五)
  14. CAD初学者该掌握的用cad画图的基本…
  15. 关于PS中RGB和CMYK的区别
  16. 5.3.4 图像颜色映射 (二)
  17. 吉林大学计算机专业,考生吉林大学计算机专业,心里闷闷不乐怎么办?
  18. 阿布扎比国家石油公司与IBM合作试行区块链
  19. 用Kotlin写android点击事件
  20. 【Android 四大组件之Activity】一文吃透Activity 生命周期

热门文章

  1. 华为鸿蒙系统费电吗,华为鸿蒙系统优势在哪里?
  2. python创建字典和包的区别_python之路—模块和包
  3. 【爬虫】毕设学习记录:python爬取静态网页(只爬取单页)
  4. 数值运算python嵩天_python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
  5. k均值例子 数据挖掘_【十大经典数据挖掘算法】k-means
  6. mysql快速导入导出数据库_mysql快速导出与导入
  7. arm linux udp 自发自收_嵌入式linux编程开发必备知识
  8. van-cell 取消点击_消息传来!转告父母:2021年起,取消60岁以上老年卡?
  9. java类型过滤文本_JAVA实现过滤掉文本中的表情
  10. uitextfield 键盘类型_以编程方式更改UITextField键盘类型