修改内核参数ip_local_reserved_ports避免tomcat端口占用

问题描述:
tomcat 重启时候 遇到这个情况,出现60080端口被占用而无法启动,非得等该端口释放后才启动成功。

问题分析:
60080端口被该服务器上的客户端(dubbo motan)随机选取源端口给占用掉了。

解决方案:
使用net.ipv4.ip_local_port_range参数,规划出一段端口段预留作为服务的端口,这种方法是可以解决当前问题,但是会有个问题,端口使用量减少了,当服务器需要消耗大量的端口号的话,比如反代服务器,就存在瓶颈了。
最好的做法是将服务监听的端口以逗号分隔全部添加到ip_local_reserved_ports中,TCP/IP协议栈从ip_local_port_range中随机选取源端口时,会排除ip_local_reserved_ports中定义的端口,因此就不会出现端口被占用了服务无法启动。

# vim /etc/sysctl.conf
net.ipv4.ip_local_reserved_ports = 18080-18087, 60080-60087
# sysctl -p

注意:内核版本要大于2.6.18-164,否则不支持该参数。 ubuntu12.04 内核版本3.8.0-29 所以ubuntu12.04以上版本是支持的

原文地址:https://www.cnblogs.com/xingxiz/p/10607747.html

时间: 2024-11-05 13:31:50

修改内核参数ip_local_reserved_ports避免tomcat端口占用的相关文章

修改内核参数

核心:/boot/vmlinuz-version 内核模块:/lib/modules/version 内核设计:linux为单内核,模块化设计 装在模块命令:insmod . modprobe 内核官网:www.kernel.org 用户空间访问.监控内核的方式: /proc . /sys 伪文件系统: /proc/sys :此目录中的文件很多是可读写的 /sys : 某些文件可写 设定内核参数值的方法 第一种修改内核方法: echo VALUE > /proc/sys/dirctory/fil

修改内核参数 dad_transmits

修改内核参数 dad_transmits 最近在学习ipv6的相关知识. 自己控制ipv6 地址冲突检测(dad)发出的报文后,地址配置后,发现多一次ns报文.这很奇怪.经过排查,发现是内核自己发了一次ns报文.所以需要把内核发出的ns报文给禁掉.需要修改内核参数.第一次调整内核参数,内心是激动的.在/proc/sys/net/ipv6/conf/all找到了该参数.但是修改的时候发现问题.通过vim不让修改./proc/sys/net/ipv6/conf找到对应的网口 批量修改直接修改配置文件

linux下修改内核参数进行Tcp性能调优 -- 高并发

前言: Tcp/ip协议对网络编程的重要性,进行过网络开发的人员都知道,我们所编写的网络程序除了硬件,结构等限制,通过修改Tcp/ip内核参数也能得到很大的性能提升, 下面就列举一些Tcp/ip内核参数,解释它们的含义并通过修改来它们来优化我们的网络程序,主要是针对高并发情况. 这里网络程序主要指的是服务器端 1. fs.file-max 最大可以打开的文件描述符数量,注意是整个系统. 在服务器中,我们知道每创建一个连接,系统就会打开一个文件描述符,所以,文件描述符打开的最大数量也决定了我们的最

配置sysctl.conf文件修改内核参数

sysctl.conf文件 linux系统中/proc/sys目录下存放的内核参数,可以在系统运行时进行更改,不过重启机器后配置就会失效. 由于/proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系,在/etc/sysctl.conf文件中修改配置内核参数可以实现永久生效,以下是本人整理的常用参数配置 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 net.ipv4.ip_

windows下关闭指定端口服务,解决tomcat端口占用问题

http://blog.aizhet.com/Server/640.html 在windows下做java EE的开发时:搭建 Eclipse+tomcat的java web开发环境:在应用之中经常遇到 tomcat在重新启动服务时,端口占用问题:导致无法启动服务: 错误提示: Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server ma

linux修改内核参数达到高并发效果

vim /etc/sysctl.conf fs.file-max = 51200 #提高整个系统的文件限制 net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies.当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭: net.ipv4.tcp_tw_reuse = 1 #表示开启重用.允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭: net.ipv4.tcp_tw_recycle =

tomcat端口占用后的解决办法

学 习网页设计的同学都会用到tomcat这个软件,在安装的时候我们一般都会选择端口为8080端口,这个端口一般情况下是不会有程序占用的,所以我们运行 tomcat不会出现什么问题,但是如果一旦别占用,我们的tomcat就无法启动了,本次经验就来大家一起分享一下如何解决这个问题. 工具/原料 tomcat 检测正在使用的端口 这里就以win7为例进行讲解. 首先打开cmd,打开的方法很简单,在开始菜单中直接输入即可.同样也可以按下win+R打开运行,然后输入cmd即可. 在dos命令中输入以下命令

tomcat端口占用问题

The Tomcat connector configured to listen on port 8110 failed to start. The port may already be in use or the connector may be misconfigured. 打开cmd 搜索占用端口的进程 netstat -ano|find "8110" 然后再根据PID kill占用端口的进程 taskkill -f -pid 80696 再次运行tomcat就行了 原文地址

tomcat 端口占用问题解决

在dos下,输入  netstat   -ano|findstr  8080 //说明:查看占用8080端口的进程 显示占用端口的进程 taskkill  /pid  6856  /f //说明,运行windows自带taskkill命令,将上面显示的进程号,结束掉.