linux系统简单优化

初始化系统的基本操作

永久关闭selinux

selinux提高系统安全性,但会造成很多麻烦,一般关闭

[root@localhost ~]# vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled,保存后退出,重启生效

[[email protected] ~]# reboot

设定系统runlevel为3

节约系统资源

[[email protected] ~]# grep 3:initdefault /etc/inittab id:3:initdefault: [[email protected] ~]# init 3

centos7 使用 systemd取代init管理服务

加大系统文件描述符最大值

vim /etc/security/limits.conf

调整大小

* soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536

说明:* 代表针对所有用户

noproc 是代表最大进程数

nofile 是代表最大文件打开数

调整内核参数文件 /etc/syctl.conf

配置网络参数来提高系统负载能力
如果出现服务器丢包的情况,需要考虑是不是如下配置需要调整

vim /etc/syctl.conf

  1. net.ipv4.tcp_syncookies = 1
    表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
  2. net.ipv4.tcp_tw_reuse = 1
    表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  3. net.ipv4.tcp_tw_recycle = 1
    表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
  4. net.ipv4.tcp_fin_timeout = 30
    表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
  5. net.ipv4.tcp_keepalive_time = 1200
    表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
  6. net.ipv4.ip_local_port_range = 1024 65000
    表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
  7. net.ipv4.tcp_max_syn_backlog = 8192
    表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
  8. net.nf_conntrack_max = 655360
    在内核内存中netfilter可以同时处理的“任务”(连接跟踪条目)

防火墙配置

/etc/syctl 尾部加上如下防火墙相关配置

有可能是sysctl.conf.first文件

开启重用,回收 socket资源用于新的TCP链接

net.ipv4.tcp_tw_reuse=1

开启回收:

net.ipv4.tcp_tw_recycle=1

网络链接最大值及超时配置

net.nf_conntrack_max = 25000000 net.netfilter.nf_conntrack_max = 25000000 net.netfilter.nf_conntrack_tcp_timeout_established = 180 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

net.nf_conntrack_max

nf_conntrack_max决定连接跟踪表的大小,默认值是65535,可以根据系统内存大小计算一个合理值:CONNTRACK_MAX = RAMSIZE(in bytes)/16384/(ARCH/32),如32G内存可以设置1048576;

nf_conntrack_buckets

决定存储conntrack条目的哈希表大小,默认值是nf_conntrack_max的1/4,延续这种计算方式:BUCKETS = CONNTRACK_MAX/4,如32G内存可以设置262144;

net.netfilter.nf_conntrack_max

最大连接数

net.netfilter.nf_conntrack_tcp_timeout_established

决定ESTABLISHED状态连接的超时时间,默认值是5天,可以缩短到1小时,即3600。

net.netfilter.nf_conntrack_tcp_timeout_time_wait

决定WAIT状态连接的超时等待时间

net.netfilter.nf_conntrack_tcp_timeout_close_wait

决定关闭状态连接的超时等待时间

net.netfilter.nf_conntrack_tcp_timeout_fin_wait

决定WAIT状态连接的超时等待时间

以上配置生效

sysctl –p

常见异常

  • too many open files(打开的文件过多)

程序在Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。

在高并发情况或者程序代码中没有正确关闭IO, 并系统限制比较小的情况下,系统在运行一段时间后,程序打开句柄数超过系统限制的时候抛出该异常

  • 连接服务器超时

一般TimeWait进程数过多
原因一般为 应用程序没有正确关闭连接,导致服务器TIME_WAIT进程过多,主动关闭连接导致TIME_WAIT产生。先检查程序及系统以上配置

常见命令

查看机器网络状态状态

netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}‘LAST_ACK

状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

原文地址:https://www.cnblogs.com/zhj01/p/12402009.html

时间: 2024-10-10 08:12:45

linux系统简单优化的相关文章

linux小白-基础篇-系统简单优化

作为一个刚刚接触Linux的小白,通过一段时间的学习,将我自己的部分笔记整理后拿出来,请求大家指点:因为是"0"基础学起很多地方了解的都不够深入,希望各位前辈能够指点一下:予人玫瑰,手留余香,谢谢! 因为条件有限环境是用VM搭建起来的,下文主要是根据"老男孩教育视频"中的内容整理出来的系统简单优化,希望各位前辈看过以后可以给出建议: 已学习进步为目的,不喜勿喷!谢谢! 系统简单优化    命令 一.关闭selinux                         

linux系统基础优化

1.Linux系统基础优化 一.关闭SELinux功能 Selinux是什么? 安全工具,控制太严格,生产环境不用它,使用其他安全手段. 简介: SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成: 1) Kernel SELinux模块(/kernel/security/selinux) 2) 用户态工具 SELinux是一个安全体系结构,它通过LSM(Linux Security

linux系统初始化& 优化总结文档

16条优化汇总 1-不用root管理,以普通用户的名义通过sudo授权管理 2-更改默认的远程连接ssh服务端口,22-->55113,禁止root用户远程连接,只监听内网ip(使用vpn,视情况而定) 3-定时自动更新服务器时间,使其和互联网时间同步 4-配置yum更新源,从国外更新源下载安装软件包 5-关闭selinux及防火墙(生产环境中,如果使用了外部ip一定要调整防火墙) 6-调整文件描述符的数量,进程及文件的打开都会消耗文件描述符 7-定时自动清理邮件目录垃圾文件,防止innodes

Linux 系统基础优化和常用命令

目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux中文显示设置(防止中文乱码) df 命令 tree命令 设置主机名 DNS 查看Linux的dns, 唯一配置文件 本地强制dns解析文件 /etc/hosts nslookup命令 计划任务crond服务 软件包管理 windows程序 macos程序 RPM软件包管理器 实例 rpm安装软件 r

linux系统基础优化和安全重点小结

本文描述一些基本的系统优化知识点,为适应批量配置,所有代码为非交互式配置方法,可在crt中通过命令窗口做简单的批量处理. 不用root登录管理系统,而以普通用户登录通过sudo授权管理.作为一个例子这里新建一个用户,并做sudo提权 useradd gotimmygo echo 123456|passwd --stdin gotimmygo \cp /etc/sudoers{,ori} echo "gotimmygo ALL=(ALL) NOPASSWD:ALL">>/et

Linux系统基础优化及常用命令

Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡 #编辑网卡配置文件 vim

Linux系统的优化

1:关闭SElinux及iptables(在工作场景中,如果有外部ip一般要打开iptables,高并发高流量的一般无法开启) [[email protected] ~]$ grep SELINUX=disabled /etc/sysconfig/selinux SELINUX=disabled 2:不使用root远程登录系统,而用普通用户登录系统通过sudo授权管理 https://www.linuxidc.com/Linux/2017-01/139361.htm 3:不用默认的ssh连接端口

8,Linux系统基础优化及常用命令

Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡 #编辑网卡配置文件 vim

linux系统IO优化

Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. 基本使用 $iostat -d -k 1 10 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示10次. # iostat -x 1 10 Linux 2.6.18-92.el5xen    02/03/2009 avg-c