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

 

目录
相关文章
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
3月前
|
监控 Linux 测试技术
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
🌟 蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕C++与零拷贝网络编程,从sendfile到DPDK,实战优化服务器性能,毫秒级响应、CPU降60%。分享架构思维,共探代码星辰大海!
|
4月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
324 3
Linux系统禁用swap
|
4月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
573 3
|
3月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
435 0
Linux系统初始化脚本
|
4月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
465 11
|
4月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
133 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
5月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
311 18
|
4月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
370 1