linux 优化

Posted fanggege

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 优化相关的知识,希望对你有一定的参考价值。

为什么要性能调优?

大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功。
简单地说:你的发行版运行的很好,但是它可以运行地更好!
比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用。

磁盘子系统的调优

技术图片
对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/etc/fstab下看看你的文件系统 有没有noatime参数.atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。因为系统管理员很少使用 atime,禁用它可以减少磁盘访问时间。禁用这个特性的方法是,在 /etc/fstab 的第四列中添加 noatime 选项。
noatime
View Code

网络调优

tcp连接保持管理:

net.ipv4.tcp_keepalive_time = 7200    # 如果在该参数指定时间内某条连接处于空闲状态,则内核向远程主机发起探测

net.ipv4.tcp_keepalive_intvl = 75     # 多久探测一次

net.ipv4.tcp_keepalive_probes = 9     # 连续探测次数

tips:

技术图片
内核发送保活探测的最大9次,如果探测次数大于这个数,则断定远程主机不可达,则关闭该连接并释放本地资源,一个连接7200s空闲后,内核会每隔75秒去重试,若连续9次则放弃。这样就导致一个连接经过2h11min的时间才能被丢弃,降低该值能够尽量减小失效连接所占用的资源,而被新的连接所使用。
View Code

net.core.netdev_max_backlog=3000    #表示在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

 

net.ipv4.tcp_max_syn_backlog = 1024   #控制每个端口的tcp syn的队列长度,来自客户端的连接请求需要排队,直至服务器接受,如果连接请求数大于该值,则连接请求会被丢弃,客户端无法连接服                                                                                  务器,一般服务器要提高此值

 

net.ipv4.tcp_synack_retries = 5       #控制内核向某个socket的ack,syn段(三次握手的第二次握手)重新发送响应的次数,降低此值可以尽早检测到来自远程主机的连接失败尝试

 

net.ipv4.tcp_retries2 = 15           #控制内核向已建立连接的远程主机重新发送数据的次数,降低此值,可以尽早的检测连接失效

 

net.ipv4.tcp_syncookies = 1           #TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个                                                                              cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。 

 

 

 

 

 

 

 

 

 

 

 

转载自:https://blog.csdn.net/universe_hao/article/details/52220159

 

以上是关于linux 优化的主要内容,如果未能解决你的问题,请参考以下文章

一般优化linux的内核,需要优化啥参数

一般优化linux的内核,需要优化啥参数

Linux学习之六-Linux系统的基础优化

嵌入式LINUX启动时间优化

linux编译c 优化,Linux性能优化——CPU性能调优

优化技巧汇总_通用优化+Linux 优化+HDFS 优化+MapReduce 优化+HBase 优化+内存优化+JVM 优化+Zookeeper 优化