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

一、修改最大连接数

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值