Linux基础优化

Posted yufenchi

tags:

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

第1章 系统基础优化

1.1 关闭selinux

vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
重启系统立即生效

1.2 hosts文件 解析当前的主机名

vim /etc/hosts
ip地址 主机名称

1.3 锁定关键文件系统

chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow

1.4 修改字符集

1. 第一步
localectl set-locale LANG=zh_CN.UTF-8
2. 第二步
source /etc/locale.conf

1.5 清空 /etc/issue /etc/issue.net

>/etc/issue
>/etc/issue.net

1.6 ssh优化

vim /etc/ssh/sshd_config
Port 22 #修改默认的端口号
PermitRootLogin no #禁止root远程登陆
PermitEmptyPasswords no  #禁止空密码登录
ssh远程连接慢
UseDNS no #禁止系统把ip解析对应域名
GSSAPIAuthentication no

1.7 时间同步:定时任务

*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
每5分钟同步一次阿里的时间服务器,放在后台执行

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

1)临时 ulimit -n65535 
2)永久修改
echo ‘* - nofile 65535 ‘ >>/etc/security/limits.conf
注意:打开文件描述符的最大值不建议修改的特别大,按实际需要调整.修改过大,如果某个应用出问题会占据大量的系统资源,很可能会把系统卡死或崩溃。

1.9 修改历史命令环境变量

1. timeout linux不进行任何操作 300s之后自动登出
export TMOUT=300 
2. history 命令最多记录几条
export HISTFILE=1000
3. history历史记录的文件里面最多记录几条
export HISTFILESIZE=1000 
4. 控制history 命令如何记录 历史命令只要以空格开头的命令history不记录
export HISTCONTROL=ignorespace

1.10 内核优化

1.10.1 禁止被ping

echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 
sysctl -p

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

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

1.10.3 time_wait过多

echo ‘net.ipv4.tcp_tw_recycle=1 ‘ >>/etc/sysctl.conf 
 echo ‘net.ipv4.tcp_tw_reuse=1 ‘ >>/etc/sysctl.conf
1. 开启tcp回收功能
 /proc/sys/net/ipv4/tcp_tw_recycle
2. 开启tcp重复使用功能
/proc/sys/net/ipv4/tcp_tw_reuse

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

vim /etc/sysctl.conf
vm.swappiness=0
控制系统是否优先使用swap 数字越大越优先使用swap 越小越优先使用物理内存,但是这个参数只能减少linux系统使用swap的概率,并不能避免Linux使用swap

1.11 防火墙的优化

vim /etc/sysctl.conf
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
#这种需要先把模块加载
modprobe bridge
echo "modprobe bridge">> /etc/rc.local

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

使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化

如何优化C ++代码的以下片段 - 卷中的零交叉

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

从JVM的角度看JAVA代码--代码优化

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

逆向及Bof基础实践