当前位置: 首页 > news >正文

linux服务器配置及服务器资源命令使用查看

在做i性能压测之前,所了解的服务器配置:CPU、内存、硬盘、网络

一、查看cpu信息

常用命令:cat /proc/cpuinfo或者lscpu、pidstat等
在这里插入图片描述

  1. 需要关注的:
    Architecture: x86_64 # 架构信息,表示系统的CPU架构为x86_64,即64位架构
    CPU(s): 4 #逻辑cpu个数,表示系统中有4个CPU
    Model name:Intel® Core™ i5-8500 CPU @ 3.00GHz # 型号名称,表示CPU的具体型号
  2. 查看cpu利用率可以使用pidstat、top、htop、vmstat、nmon等
    pidstat命令查看进程级别的CPU利用率
    pidstat -u:显示每个进程的CPU利用率
    在这里插入图片描述

二、查看内存大小及使用率

常用命令: free、cat /proc/meminfo、top、htop等
在这里插入图片描述

选项释义
total总内存大小
usedl正在运行的进程当前正在使用的内存(used= total – free – buff/cache)
free未使用的内存(free= total – used – buff/cache)
shared多个进程共享的内存
buffers作系统保留的内存,在进程需要时分配为缓冲区
cached存储在 RAM 中最近使用的文件
buff/cacheBuffers + Cached
available可用于启动新应用程序,无需交换的内存大小
  • free -m:以 MB 为单位的输出.
  • free -G:以 GB 为单位输出
  • free -l:详细的低内存和高内存统计信息
  • free -t:RAM + swap
  • free -s:多少秒更新一次
  • free -C:更新多少次

三、磁盘

常用命令:vmstat、df、du、lsblk、fdisk、smartctl等

  1. 显示指定磁盘分区统计信息:vmstat -d
    在这里插入图片描述
  • reads【 or writes】
    • total:成功完成的总读取数
    • merged:分组读取【或写入】(产生一个 I/O)
    • sectors:扇区读取【或写入】成功
    • ms:阅读【或写入】花费的毫秒数
  • IO
    • cur:正在进行的 I/O
    • sec:I/O 花费的秒数
  1. df -h:是最常见的磁盘查看命令。它可以显示文件系统的总大小、已用空间、可用空间和挂载点等信息
    在这里插入图片描述
    Size:文件系统总大小,
    Used:已使用大小,
    Avail:可用空间linux启动盘制作工具,
    Use%:表示已使用百分比

四、网络

常用命令:ifconfig、netstat -s、sar、iperf等

  1. ifconfig命令
    在这里插入图片描述

errors 表示发生错误的数据包数,比如校验错误、帧同步错误等
dropped 表示丢弃的数据包数,即数据包已经收到了 Ring Buffer(这个缓冲区是在内核内存中,更具体一点是在网卡驱动程序里),但因为系统内存不足等原因而发生的丢包
overruns 表示超限数据包数,即网络接收/发送速度过快,导致 Ring Buffer 中的数据包来不及处理,而导致的丢包
因为过多的数据包挤压在 Ring Buffer,这样 Ring Buffer 很容易就溢出了
carrier 表示发生 carrirer 错误的数据包数,比如双工模式不匹配、物理电缆出现问题等
collisions 表示冲突、碰撞数据包数

  1. sar命令
    sar -n DEV,显示网口的统计数据;
    sar -n EDEV,显示关于网络错误的统计数据;
    sar -n TCP,显示 TCP 的统计数据
    在这里插入图片描述
    rxpck/s 和 txpck/s 分别是接收和发送的 PPS,单位为包 / 秒
    rxkB/s 和 txkB/s 分别是接收和发送的吞吐率,单位是 KB/ 秒
    rxcmp/s 和 txcmp/s 分别是接收和发送的压缩数据包数,单位是包 / 秒

  2. iperf命令
    Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能, 可以报告带宽、延迟抖动和数据包丢
    失。
    安装方式:1. 如果使用yum install iperf -y命令出现很多[Errno 14] HTTP Error 404 - Not Found,除了更新安装数据源之外,还可以通过wget下载的方式,如下

wget https://downloads.es.net/pub/iperf/iperf-3.0.5.tar.gz
tar -zxvf iperf-3.0.5.tar.gz
cd iperf-3.0.5
./configure
make
make install

其他版本:ifperf各版本链接

  • 共用的参数:
    • -f [k|m|g|K|M|G] 指定带宽输出单位
    • -p 指定服务器端使用端口或客户端连接端口
    • -i 指定每次报告之前的时间间隔,单位为秒,默认为1
    • -F 指定文件作为数据流进行带宽测试
  • 服务端专有参数:
    • -s 以服务器模式启动
    • -D 将iperf作为后台守护进程运行
  • 客户端专有参数:
    • -c 以客户端模式运行
    • -u 指定使用udp协议
    • -b 指定udp模式使用的带宽
    • -t 指定传输数据包的总时间
    • -n [K|M|G] 指定传输数据包的字节数
    • -I 指定读写缓冲区的长度。tcp模式默认为8KB,udp模式默认为1470B
    • -P 指定客户端与服务端之前使用的线程数,默认是1。需要两端同时使用
    • -R 切换发送、接收模式。默认客户端发送,服务端接收,设置此参数后,客户端变为接收,服务端为发送。
    • -w 指定套接字缓冲区大小,在tcp模式下,此值是设置tcp窗口大小的。用来限制可以接受数据包的最大值
    • -B 用来绑定一个主机地址或接口,这个参数仅用于具有放多个网卡的主机。在udp模式下,此参数用于绑
      定和加入一个多播组
    • -M 设置tcp最大信息段
    • -N 设置tcp无延迟
测试tcp吞吐量:iperf3 -c ip地址
  1. 先启动服务器端窗口不要关闭(一直挂着)
    在这里插入图片描述
  2. 复制一个窗口,执行命令:iperf3 -c ip地址
    在这里插入图片描述
    可以看到iperf3持续传输10s,传输的数据量是52.2GBytes,网卡带宽是44.8Gbits/sec
测试udp丢包和延迟:iperf3 -c ip地址 -u -b 100M -f M -i 2
  • udp由于不提供可靠的数据传输服务,所以一般都只关注udp的丢包和延迟, 下面是在iperf客户端传输100MB的
    udp数据包的输出结果
    在这里插入图片描述
    重点看server report信息
    倒数第一列的425/15844 表示丢失的数据包和总得数据包数量。后面的2.7%表示平均丢包的比率
    倒数第二列的0.005 ms表示传输延迟

五、进程

常用命令: top 、ps 、 pidstat 、 pstree等

  1. top命令
    在这里插入图片描述
    详解参考:上一篇博客
  • 案例 1 : 找到 CPU 使用率最多的前5个进程:ps auxw --sort=-%cpu | head -6
  • 案例 2 : 找到 内存 占用率最多的前5个进程:ps auxw --sort=-%mem | head -6
  1. pidstat命令
    -u 默认的参数,显示各个进程的CPU使用统计
    -r 显示各个进程的内存使用统计
    -d 显示各个进程的IO使用情况
    -p 指定进程号
    -w 显示每个进程的上下文切换情况
    -t 显示选择任务的线程的统计信息外的额外信息

查看那个进程导致CPU使用率,pidstat命令,需要安装:yum install -y sysstat
命令1: pidstat -u 5 1 // 5秒内, 统计1次
在这里插入图片描述
命令2: pidstat -w -p 7090
在这里插入图片描述
UID: 用户ID
PID: 进程ID
%usr: 进程在用户空间占用CPU的百分比
%system: 进程在内核空间占用CPU的百分比
%guest: 任务花费在虚拟机上的CPU使用率(运行在
虚拟处理器)
%CPU: 任务总的CPU使用率
CPU: 正在运行这个任务的处理器编号
Command: 这个任务的命令名称

  1. pstree 命令
    功能: 指定 pid 查找父进程
    安装: yum -y install psmisc
    命令: pstree -aps 进程号

http://www.mrgr.cn/news/27849.html

相关文章:

  • 处理namespace问题:Namespace not specified for AGP 8.0.0
  • 要卸载 Grafana 或者从 TiDB 集群中删除 Grafana 服务节点,你需要按以下步骤操作
  • 综合文化信息管理系统|基于java和小程序的综合文化信息管理系统设计与实现(源码+数据库+文档)
  • 新手教学系列——善用 VSCode 工作区,让开发更高效
  • 【软件测试】设计测试用例的方法(正交法、判定表法、错误猜测法),测试文档的写法
  • 稀疏视角CBCT重建的几何感知衰减学习|文献速递-基于深度学习的病灶分割与数据超分辨率
  • UDP_SOCKET编程实现
  • Vue3 Day4-计算、监视属性
  • 松材线虫多光谱数据集
  • InputDispatcher的调试日志isLoggable动态开放logcat实战使用
  • 【退役之再次线上部署】Spring Boot + VUE + Nginx + MySQL
  • verilog运算符优先级
  • 堆排序,快速排序
  • C#/.NET/.NET Core技术前沿周刊 | 第 5 期(2024年9.9-9.15)
  • Linux: virtual: qemu-kvm: top cpu usage的组成是否包含guest的使用?
  • 窗口嵌入桌面背景层(vb.net,高考倒计时特供版)
  • 基于双PI矢量控制结构和SVPWM的风力发电系统Simulink建模与仿真
  • C++线程库
  • (SERIES12)DM性能优化
  • web开发 之 HTML、CSS、JavaScript、以及JavaScript的高级框架Vue(学习版2)
  • 调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz
  • gingivitis
  • 超高速传输 -- 超通道Superchannel
  • [产品管理-20]:NPDP新产品开发 - 18 - 产品设计与开发工具 - 初始设计与规格定义
  • CSS3 过渡
  • 复习:数组