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

 

目录
相关文章
|
1天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
102 80
|
10天前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
33 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
7天前
|
域名解析 缓存 网络协议
优化Lua-cURL:减少网络请求延迟的实用方法
优化Lua-cURL:减少网络请求延迟的实用方法
|
7天前
|
数据采集 监控 安全
公司网络监控软件:Zig 语言底层优化保障系统高性能运行
在数字化时代,Zig 语言凭借出色的底层控制能力和高性能特性,为公司网络监控软件的优化提供了有力支持。从数据采集、连接管理到数据分析,Zig 语言确保系统高效稳定运行,精准处理海量网络数据,保障企业信息安全与业务连续性。
27 4
|
22天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
25天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
63 7
|
23天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-GRU网络的数据分类识别算法matlab仿真
本项目展示了使用MATLAB2022a实现的贝叶斯优化、CNN和GRU算法优化效果。优化前后对比显著,完整代码附带中文注释及操作视频。贝叶斯优化适用于黑盒函数,CNN用于时间序列特征提取,GRU改进了RNN的长序列处理能力。
|
29天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
52 8
|
13天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数