Linux系统级优化示例
Posted 玉树临风的猪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统级优化示例相关的知识,希望对你有一定的参考价值。
一、常用操作
1,查看系统版本号
2.查看主机名
3.显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
4.查看系统位数
5.查看系统版本
6.查看系统内存使用情况
7.查看CPU信息
8.查看内存信息
9.查看Linux系统负载信息
17:30:21 //系统当前时间 up 1:39 //主机已运行时间,时间越大,说明你的机器越稳定。 2 user //用户连接数,是总连接数而不是用户数 load average: 0.00, 0.01, 0.05 // 系统平均负载,统计最近1,5,15分钟的系统平均负载
如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
双CPU服务器一般标准以5-10 低于5系统不繁忙,5-10相对繁忙
10.查看系统时间,硬件时间
date //查看系统时间
[root@localhost ~]# date
2020年 04月 14日 星期二 17:34:41 CST
hwclock //查看硬件时间
[root@localhost ~]# hwclock
2020年04月14日 星期二 17时35分21秒 -0.522054 秒
timedatectl # 查看系统时间方面的各种状态
[root@localhost ~]# timedatectl
Local time: 二 2020-04-14 17:36:21 CST
Universal time: 二 2020-04-14 09:36:21 UTC
RTC time: 二 2020-04-14 09:36:22
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
timedatectl list-timezones # 列出所有时区
timedatectl set-local-rtc 1 # 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间
timedatectl set-timezone Asia/Shanghai # 设置系统时区为上海
其实不考虑各个发行版的差异化, 从更底层出发的话, 修改时间时区比想象中要简单
设置服务器时间
安装 ntpdate 工具
yum -y install utp ntpdate
设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org
将系统时间写入硬件时间
hwclock --systohc
服务器时区设置
timedatectl set-timezone Asia/Shanghai # 设置系统时区为上海
11.查看防火墙已开放端口命令:
firewall-cmd —list-ports
查看端口是否开放命令:
第一个方法就是使用lsof -i:端口号命令行,例如lsof -i:80。如果没有任何信息输出,则表示该端口号(此处是80)没有开放。
第二个方法就是使用netstat -aptn命令行,查看所有开启的端口号。
第四种方法就是使用netstat -nupl是查看系统中所有使用udp协议的端口号。
第五种方法就是使用netstat -ntpl是查看系统中使用tcp协议的端口号信息。
开放centos7防火墙的端口:
添加开放端口号
firewall-cmd —permanent —zone=public —add-port=8080/tcp
重启firewall
firewall-cmd —reload
检查是否生效
firewall-cmd —zone=public —query-port=8080/tcp
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效( —permanent放在前面与后面都行)
Ubuntu开放端口命令:
1.防火墙的打开
sudo ufw enable
2.防火墙的重启
sudo ufw reload
3.打开想要的端口(以8080为例)
ufw allow 8080
二、修改IP地址、网关、主机名、DNS等
1.修改IP、网关、DNS和网卡自动启动
以root权限登陆centos7并编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33这个文件,如下:
:wq 保存并退出
重启网卡服务,执行 /etc/init.d/network restart
2.修改主机名
3.修改全局DNS
三、关闭Selinux,清空iptables
1.关闭selinux
★修改配置文件需要重启机器:
修改/etc/selinux/config 文件
或者:
#查看更改后的结果
★临时关闭(不用重启机器)
setenforce 0 #设置SELinux 成为permissive模式
#setenforce 1 设置SELinux 成为enforcing模式
★ getenforce #查看selinux当前状态
2.清空iptables和禁止firewalld运行
iptables –F #清理防火墙规则
iptables –L #查看防火墙规则
禁用/停止自带的firewalld服务
#停止firewalld服务
#禁用firewalld服务
四、配置yum更新
centos7更新163源方法:
访问地址为:http://mirrors.163.com/.help/centos.html
操作如下:
更新CentOS7和安装几个必要的软件
五、定时自动更新服务器时间
首先我们立即手动更新所有预先安装的软件
设置crond.service服务自启动
★ 使用ntpdate命令进行更新:
首先使用ntpdate测试时间服务器可否使用
★设置linux自动每5分钟同步一次时间服务器进行时间同步
扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server
查看定时任务,查看是否己设置成功
六、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满
★ 手动清理方法:
★ 使用shell脚本+定时任务自动清理方法:
然后将其加入到crontab定时任务中
#检查一下定时任务
注意:
centos5.8,默认没有clientmqueue
centos6.4和centos7的要先安装sendmail才能有/var/spool/clientmqueue/ 这个目录
[root@localhost ~]# yum install sendmail -y
七、更改默认的SSH服务端口及禁止root用户远程连接
八、锁定关键系统文件chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr -i /etc/passwd 对/etc/passwd解锁
可以防止黑客对系统的修改和攻击
九、调整文件描述符大小
★ #查看文件描述符大小
配置文件描述符为65535
配置完成后,重新登录即可查看
★ 也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效
十、更改字符集、支持中文
centos7的与centos6有少许不同:
1.安装中文包:
查看系统是否有安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN)
若发现以上几项,说明系统已安装中文语言包,无需再安装,
十一、清空/etc/issue.去除系统及内核版本登录前的屏幕显示
>/etc/issue #清空登陆显示的信息
echo "welcome!">/etc/issue 或 vi /etc/issue #修改系统登陆时显示的信息
十二、内核优化
本优化适合apache,nginx,squid多种等web应用,特殊的业务也可能需要略作调整。
★centos7内核优化:
重新加载内核参数
以上是关于Linux系统级优化示例的主要内容,如果未能解决你的问题,请参考以下文章
突破性能瓶颈!ElasticSearch百亿级数据检索优化案例
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段