面试题-Linux系统优化进阶学习

面试题-Linux系统优化进阶学习

编码文章call10242025-03-07 15:51:3132A+A-

一.基础必备优化:

1.关闭 SElinux

2.Firewalld CenetOS7 Iptables (C6) 安全组(阿里云)

3.网络管理服务

| | NetworkManager | network |

| -------- | --------------- | --------------------- |

| 相同地方 | 管理网络 | 管理网络 |

| 区别 | 通过 nmcli 命令 | 修改配置文件 重启网卡 |

4.添加普通用户 配置 sudo

oldboy ALL=(ALL)    NOPASSWD: ALL
  1. hosts 文件 解析当前的主机名

6.锁定关键文件系统 chattr lsattr

7.系统字符集:UTF-8

#en_US.UTF8
#zh_CN.UTF8

8.调整用户登录提示信息 /etc/motd

9.清空 /etc/issue /etc/issue.net


二.基础服务优化:

10.ssh 优化 :

Port 22 #修改默认的端口号

PermitRootLogin no #禁止 root 远程登陆

#ssh 远程连接慢

UseDNS no #禁止系统把 ip 解析对应域名

GSSAPIAuthentication no

配置内外网监听不同端口

ListenAddress 10.0.0.7:52113

ListenAddress 172.16.1.7:22

11.yum 源: 修改系统默认的 yum 源 增加 epel 源

  1. 软件包默认的源+epel

必须安装的工具 tree vim wget bash-completion (默认源) bash-completion-extras(epel) lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc

4.添加普通用户 配置 sudo

```undefined

oldboy ALL=(ALL) NOPASSWD: ALL

```

5. hosts 文件 解析当前的主机名

6.锁定关键文件系统 chattr lsattr

7.系统字符集:UTF-8

```css

#en_US.UTF8

#zh_CN.UTF8

```

8.调整用户登录提示信息 /etc/motd

9.清空 /etc/issue /etc/issue.net

## 二.基础服务优化:

10.ssh 优化 :

> Port 22 #修改默认的端口号

> PermitRootLogin no #禁止 root 远程登陆

> \#ssh 远程连接慢

> UseDNS no #禁止系统把 ip 解析对应域名

> GSSAPIAuthentication no

> 配置内外网监听不同端口

> ListenAddress 10.0.0.7:52113

> ListenAddress 172.16.1.7:22

11.yum 源: 修改系统默认的 yum 源 增加 epel 源

12. 软件包默认的源+epel

> 必须安装的工具 tree vim wget bash-completion (默认源) bash-completion-extras(epel) lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc

| 命令 | 作用 |

| :-------: | ---------- |

| tree | 以树形显示目录结构 |

| psmisc | pstree 等命令 |

| vim | vi 升级版 |

| wget | 下载工具 |

| bash-completion(默认源) | 自动补全增强工具,可以补全命令参数 |

| bash-completion-extras(epel) | 自动补全超级增强工具,可以补全命令参数 |

| lrzsz | 上传下载工具 rz 和 sz |

| net-tools | ifconfig route 命令属于的软件包 |

| sysstat | sar iostat 属于的软件包 |

| iotop | 查询系统每个进程的 io 读写情况 swap 写入情况 |

| iftop | 查询网络流量情况 |

| nethogs | 显示每个进程的流量情况 |

| htop | top 升级版 |

| unzip | 解压 |

| nc | ncat 类似 telnet |

| nmap | 网络扫描工具 |

| telnet | 检查端口是否开启 |

| bc | 基础计算器 |

| lsof | 显示所有被打开的文件 |

13.时间同步:定时任务+ ntpdate / chrony

14.文件描述符 每个进程可以打开的最大文件数量

1)临时 ulimit -n65535
2)永久 /etc/security/limits.conf

echo '* - nofile 65535 ' >>/etc/security/limits.conf

15.开机自启动 crond sysstat network rsyslog sshd (c6)

16.修改历史命令环境变量

export TMOUT=300 #timeout linux 不进行任何操作 300s 之后自动登出

export HISTFILE=1000 history 命令最多记录几条

export HISTFILESIZE=1000 history 历史记录的文件里面最多记录几条

export HISTCONTROL=ignorespace #控制 history 命令如何记录 历史命令

#只要以空格开头的命令 history 不记录

三.内核优化:

17.禁止被 ping

  echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
  sysctl -p
[root@web01 ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:82:a5:bb brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.7/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe82:a5bb/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:82:a5:c5 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.7/24 brd 172.16.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe82:a5c5/64 scope link
       valid_lft forever preferred_lft forever

[root@web01 ~]# echo '  net.ipv4.icmp_echo_ignore_all=1' >> /etc/sysctl.conf
[root@web01 ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
[root@web01 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@web01 ~]# ping 10.0.0.7
PING 10.0.0.7 (10.0.0.7) 56(84) bytes of data.
^C
--- 10.0.0.7 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5000ms

[root@web01 ~]# ping 172.16.1.7
PING 172.16.1.7 (172.16.1.7) 56(84) bytes of data.
^C
--- 172.16.1.7 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms

18.内核

开启内核转发功能(内网服务器,上外网的时候需要用到)

echo 'net.ipv4.ip_forward=1 ' >>/etc/sysctl.conf
sysctl -p

/proc/sys/net/ipv4/ip_forward

time_wait 过多

 echo 'net.ipv4.tcp_tw_recycle=1 ' >>/etc/sysctl.conf
 echo 'net.ipv4.tcp_tw_reuse=1 ' >>/etc/sysctl.conf


/proc/sys/net/ipv4/tcp_tw_recycle #开启 tcp 回收功能


/proc/sys/net/ipv4/tcp_tw_reuse #开启 tcp 重复使用功能

java 程序 故障 导致大量占用 swap 而不占用物理内存

vm.swappiness #控制系统是否优先使用 swap 数字越大越优先使用 swap 越小越优先使用物理内存


原文链接:
https://www.jianshu.com/p/b462820f7f

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4