Linux 优化实战(网络层面和系统层面的系统优化)

简介: Linux 优化实战(网络层面和系统层面的系统优化)

     Linux 优化实战(网络层面和系统层面的系统优化)

内核参数的优化必定需要修改内核的参数,而修改参数有两种方式。

1、使用echo value方式直接追加到文件里如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但这种方法设备重启后又会恢复为默认值

2、把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效

当然了,建议使用永久生效的方法,因为优化的参数基本都是针对网络层面的优化,并不会对系统造成大的破坏。

常用的内核优化参数有以下:

net.ipv4.ip_default_ttl=128#伪装成Windows主机,ping本机时的ttl值为128,Linux系统为64.

net.ipv4.tcp_syn_retries = 1#表示本机向外发起TCP SYN连接超时重传的次数,通俗的说,tcp握手失败后重连次数,不超过#2,因为流量过大时,网络资源会很快耗尽,小站可提高数值,大站不要过大。

net.ipv4.tcp_synack_retries = 1#同上,其实1也就是象征性的重连,表示尽力了。真的网络有问题,多大都不行。

net.ipv4.tcp_keepalive_time = 600#如果某个TCP连接一直不活跃600秒后,内核才发起probe.如果probe 3次(每次15秒)不成功,内#核才彻底放弃,认为该连接已失效。

net.ipv4.tcp_keepalive_probes = 3#三个keep是一起的

net.ipv4.tcp_keepalive_intvl =15#这三个keep是一起的

net.ipv4.tcp_retries2 = 5#

net.ipv4.tcp_fin_timeout = 2#减少处于等待-连接状态的时间,类似网络垃圾链接,使系统可以处理更多的连接

net.ipv4.tcp_max_tw_buckets = 36000#系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。

net.ipv4.tcp_tw_recycle = 1#打开TIME-WAIT套接字重用功能,对于存在大量连接的Web服务器非常有效,表示允许将TIME_WAIT状态的socket重新用于新的TCP链接

net.ipv4.tcp_tw_reuse = 1#打开TIME-WAIT套接字重用功能,对于存在大量连接的Web服务器非常有效

net.ipv4.tcp_max_orphans = 32768#系统所能处理不属于任何进程的TCP sockets最大数量,设定系统中最多允许存在多少tcp套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,没有与用户文件句柄关联的tcp套接字符将立即被复位,同时给出警告信息。这个限制只是为了防止简单的DoS工具。一般在系统内存比较充足的情况下,可以增大这个参数的赋值

net.ipv4.tcp_syncookies = 1#防范洪水攻击

net.ipv4.tcp_max_syn_backlog = 16384#进入SYN包的最大请求队列.默认1024

net.ipv4.ip_local_port_range = 1024 65000#本机向外连接提供的端口范围

net.ipv4.ip_conntrack_max = 65536#最大网络连接数

net.ipv4.netfilter.ip_conntrack_max=65536#

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180#

net.core.somaxconn = 16384#选项默认值是128,这个参数用于调节系统同时发起的TCP连接数,在高并发的请求中,默认的值可能会导致链接超时或者重传,因此需要结合高并发请求数来调节此值。

net.core.netdev_max_backlog = 16384#表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目,一般默认值为128(可能不同的linux系统该数值也不同)。nginx服务器中定义NGX_LISTEN_BACKLOG默认为511。

 

 

net.ipv4.tcp_wmem = 8192 131072 16777216#定义TCP发送缓存的最小值、默认值、较大值。

net.ipv4.tcp_rmem = 32768 131072 16777216#定义了TCP接受缓存的最小值、默认值、较大值

net.ipv4.tcp_mem = 786432 1048576 1572864#增加TCP最大缓冲区大小

fs.inotify.max_queued_events = 327679
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 50000000#这六个最好是sysctl -a  查询出来是多少就写多少

[root@localhost ~]# sysctl -a | grep fs.inotify
fs.inotify.max_queued_events = 327679
fs.inotify.max_user_instances = 128#这个数值可以不用查询出的数值,一般为1024即可。
fs.inotify.max_user_watches = 50000000

sysctl -a   查出来是多少就写多少

 

================================================================================

vim /etc/security/limits.conf#末尾添加如下内容:系统最大打开文件数

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* soft nproc 65535

#如果65535不够,可以在增加。这个是针对用户层面的。limits.conf文件内的是针对所有用户的(因为是*,代表所有用户)。

fs.file-max = 1048575# 增加系统文件描述符限制 2^20-1。这个是在sysctr.conf文件内的,是针对系统的修改。

kernel.watchdog_thresh=60#防止系统太快崩溃,如果重新编译内核时并没有选择watchdog模块,无需配置。

 

目录
相关文章
|
2天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
12 5
|
3天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
15 1
|
3天前
|
Linux 数据安全/隐私保护
Linux系统忘记密码的三种解决办法
这篇博客介绍了三种在Linux忘记密码时重置登录密码的方法:1) 使用恢复模式,通过控制台界面以管理员权限更改密码;2) 利用Linux Live CD/USB启动,挂载硬盘分区并使用终端更改密码;3) 进入单用户模式,自动以管理员身份登录后重置密码。每个方法都提供了详细步骤,提醒用户在操作前备份重要数据。
|
3天前
|
JSON Unix Linux
Linux系统之jq工具的基本使用
Linux系统之jq工具的基本使用
32 2
|
3天前
|
数据采集 监控 安全
linux系统被×××后处理经历
linux系统被×××后处理经历
|
4天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
43 2
|
4天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
4天前
|
网络协议 Linux Shell
【linux网络(一)】初识网络, 理解四层网络模型
【linux网络(一)】初识网络, 理解四层网络模型
|
4天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
18 0
Linux 网络操作命令Telnet
|
5天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
20 0