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模块,无需配置。

 

目录
相关文章
|
6天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
13天前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
156 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
40 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
7天前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
34 10
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
|
7天前
|
机器学习/深度学习 编解码 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
37 4
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
|
11天前
|
机器学习/深度学习 编解码 测试技术
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
39 8
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
|
2天前
|
传感器 算法 物联网
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。
|
2天前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a,展示了时间序列预测算法的运行效果(无水印)。核心程序包含详细中文注释和操作视频。算法采用CNN-GRU-SAM网络,结合灰狼优化(GWO),通过卷积层提取局部特征、GRU处理长期依赖、自注意力机制捕捉全局特征,最终实现复杂非线性时间序列的高效预测。
|
20天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
33 11
|
9天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
18 0

热门文章

最新文章