七、Linux系统之性能检测与优化

性能检测与优化

影响linux服务器性能因素:cpu、mem、磁盘I/O、网络。

一、CPU

查看cpu情况:

lscpu
cat /proc/cpuinfo

在这里插入图片描述

使用uptime查看cpu查看三个时间点的负载情况

在这里插入图片描述

当五分钟和15分钟的值大于cpu的个数时,说明此时cpu已经处于高负载状态。

使用vmstat指令查看cpu性能:

procs:
r:等待运行的进程数
b:非中断休眠状态的进程数

memory:
swpd:虚拟内存使用情况
free:空闲的内存
buff:缓冲
cache:缓存

swap:
si:从磁盘交换到内存的页数量
so:从内存交换到磁盘的页数量

IO:
bi:写入到块设备的块数
bo:从块设备中读取的块数

system
in:每秒的中断数
cs:每秒环境(上下文)切换的次数

cpu:
us:用户进程占用cpu时间的百分比
sy:内核进程占用cpu时间的百分比
id:cpu处于空闲状态的时间百分比
wa:IO等待占用cpu时间的百分比
st:等待IO时所消耗的cpu时间

在这里插入图片描述

二、内存

查看内存情况:

  1. free

    [root@maoqi1 ~]# free -m   //-m是单位,输出兆
    

    Mem:物理内存

    Swap:虚拟内存

    在这里插入图片描述

  2. top

    在这里插入图片描述

三、磁盘I/O

iostat:命令需要安装sysstat
iostat -d
tps:每秒发送到磁盘I/O的请求数
kB_read/s:每秒读取数据的块 数
kB_wrtn/s:每秒写入数据的块数
kB_read:读取所有数据的块数
kB_wrtn:写入所有数据的块数

  1. 使用cd /etc/yum.repos.d/查看该目录内是否配置yum仓库
  2. 使用mount /dev/cdrom /mnt指令去挂载yum仓库
  3. 使用yum -y install sysstat指令安装sysstat包,可以查看cpu信息

iostat指令查看内存信息包括cpu的负载情况
在这里插入图片描述

iostat-d指令只查看内存硬盘信息
在这里插入图片描述

四、网络

ping: 在 Linux 中,ping 是一个常用的网络工具,用于测试网络连接的可达性和测量延迟。
在Linux系统中用我们的主机A去ping主机B,如果不退出,主机A会一直去ping主机B,但是在windows系统中只会ping四次,那么在Linux中可以通过-c去控制ping的次数。
在这里插入图片描述

输入ping www.baidu.com -c2指令控制只ping两次。
在这里插入图片描述

开启禁ping

vim  /etc/sysctl.conf     #进入sysctl.conf文件
net.ipv4.icmp_echo_ignore_all  =  1  #在sysctl.conf文件中添加禁pin命令
sysctl -p /etc/sysctl.conf   #执行当前服务

IP转发

在 Linux 中,IP 转发(IP forwarding)是一项核心功能,它允许系统将接收到的 IP 数据包从一个网络接口转发到另一个接口,从而使该系统成为一个路由器。以下是关于 IP 转发的详细介绍和配置方法:

IP 转发的作用

  • 路由器功能:当 Linux 系统开启 IP 转发后,它可以连接两个或多个网络,并在它们之间转发数据包。
  • 网络地址转换(NAT):常用于家庭或企业网络,通过单个公网 IP 地址让多个内网设备访问互联网。
  • 虚拟专用网络(VPN):VPN 服务器需要 IP 转发来实现不同网络之间的安全通信。
  1. 临时启用IP转发(重启后失效)

    echo 1 > /proc/sys/net/ipv4/ip_forward
    # 或使用 sysctl 命令
    sysctl -w net.ipv4.ip_forward=1
    
  2. 永久启用IP转发

    vim  /etc/sysctl.conf      #进入sysctl.conf文件
    net.ipv4.ip_forward  =  1    #在sysctl.conf文件开启IP转发
    
    sysctl -p /etc/sysctl.conf
    
端口
  1. 端口的基本概念

    • **逻辑地址:**端口是一个 16 位的数字(范围:0~65535),用于区分同一 IP 地址下的不同网络服务。
    • **通信端点:**在网络通信中,数据通过IP 地址 + 端口号定位到具体的应用程序。例如:
      • Web 服务器默认使用 TCP 80(HTTP)443(HTTPS)
      • SSH 服务默认使用 TCP 22
      • 数据库(如 MySQL)默认使用 TCP 3306
  2. 端口的分类

    根据端口号范围,可分为以下几类:

    系统端口(0~1023)

    • 由系统保留,通常用于关键服务(如 HTTP、SSH、FTP 等)。
    • 只有 root 用户 可以绑定这些端口。

    用户端口(1024~49151)

    • 也称为 “注册端口”,可由普通用户或应用程序使用。
    • 一些常见服务会注册在此范围内(如 MySQL 3306、Redis 6379)。

    动态端口(49152~65535)

    • 也称为 “私有端口”,用于临时连接(如客户端发起的请求)。
    • 系统会自动分配这些端口,无需手动配置。
  3. 端口的作用

    1.多服务共存
    同一台服务器可以同时运行多个服务,通过不同端口区分。例如:

    • 服务器 IP:192.168.1.100
    • Web 服务(HTTP):192.168.1.100:80
    • Web 服务(HTTPS):192.168.1.100:443
    • SSH 服务:192.168.1.100:22

    2. 协议和应用绑定
    特定的应用通常使用固定的端口,便于网络通信。例如:

    • SMTP(邮件发送):TCP 25
    • DNS(域名解析):UDP 53
    • FTP(文件传输):TCP 20/21
  4. 查看端口

    # 查看所有监听的端口
    ss -tulpn
    #默认查询TCP协议下的端口
    ss -tnl
    #查询包括TCP和UDP协议下的端口
    ss -tunl
    # 查看特定端口(如 80)是否被占用
    ss -tulpn | grep :80
    
    #查询包括UDP协议的端口,还可以查看哪个服务使用的是哪个端口
    netstat -tulnp
    # 等效命令(使用 netstat)
    netstat -tulpn | grep :80
    

调优系统性能:

配置静态调优:tuned守护进程会在服务启动时或选择新的调优配置文件时应用系统设置
配置动态调优:对于动态调优而言,tuned守护进程会监视系统活动,并根据运行时行为的变化来调整设置

tuned选择不同的调优配置文件

tuned-adm list

在这里插入图片描述

**balanced:**非常适合需要在节能和性能之间进行折中的系统
**desktop:**从balanced配置文件衍生而来,加快交互式应用响应速度
**throughput-performance:**调优系统,以获得最大吞吐量
**latency-performance:**非常适合需要牺牲性能来获得低延迟的服务器系统
**network-latency:**从latency-performance配置文件中衍生而来,它可以启用额外的网络调优参数,以提供低网络延迟
**network-throughput:**从throughput-performance配置文件衍生而来,应用其他网络调优参数,以获得最大网络吞吐量。
**powersave:**调优系统,以最大程度实现节能
**virtual-guest:**当前系统在虚拟机上运行时,调优系统以获得最高性能
**virtual-host:**当系统充当虚拟机主机时,调优系统以获得最高性能。

tunned-adm  active       #确定当前活动的调优配置文件
tuned-adm  list         #列出所有可用的调优配置文件,
tuned-adm  profile +调优配置文件  #将活动的配置文件切换为更符合系统当前调优要求的其他配置文件
tuned-adm  recommend   #可以为系统推荐调优配置文件,该机制用于在安装后确定系统的默认配置文件
tuned-adm  off          #关闭tuned调优

手动修改系统调优性能

[root@maoqi1 ~]# tuned-adm profile balanced    #把性能改为balanced
[root@maoqi1 ~]# tuned-adm active      #激活刚才设置的系统的调优
Current active profile: balanced

自动修改系统调优性能

[root@maoqi1 ~]# tuned-adm recommend   #查询系统推荐的调优配置文件为virtual-guest
virtual-guest
[root@maoqi1 ~]# tuned-adm profile virtual-guest 
[root@maoqi1 ~]# tuned-adm active
Current active profile: virtual-guest

相对优先级

不同进程的重要性水平各不相同,进程调度程序可以配置为针对不同的进程采用不同的调度策略。
nice级别值在-20到19之间,默认情况下,进程将继承父进程的nice值,通常为0。nice值越高,优先级越低(也就是该进程容易将cpu使用量让给其他进程);nice越低,优先级越高(该进程更加不倾向于让出cpu使用量)

普通用户(非特权用户)的权限仅限于提高自己进程的nice级别,不能设置降低自己进程的nice级别,也不能修改其他用户进程的nice级别。但是root用户可以灵活的提高或降低进程的nice级别

使用ps命令列出所有进程的pid,comm和nice值,且按nice降序排序,

升序为ps axo pid,comm,nice --sort=nice

降序:ps axo pid,comm,nice --sort=-nice

sha1sum    #用来验证数据的完整性
sha1sum  /dev/zero  &    #&把当前进程挂到后台
pgrep  -l  sha1sum     #查询进程号
ps  -o  pid,comm,nice  进程ID    #查询进程号

renice  -n  19 进程ID   #调整进程的优先级

linux内核优化

内核版本号由3部分组成
3.10.0-957
3.是主版本号
10.是次版本号:次版本号决定该内核是稳定版本还是开发版本 偶数稳定版本 奇数 开发版本
0-957末版本号(修订版本号)

优化步骤:

#1.升级内核(重新安装内核)
rpm -ivh kernel-3.10...rpm		#其中内核的版本根据自己个人需求安装
#2.查看内核模块
cd /lib/modules
#3.查看内核版本
uname -r
#4.查询模块
lsmod |grep xfs
modinfo  xfs
#5.加载模块
modprobe  ext4
#6.卸载模块
modprobe  -r  ext4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值