当前位置: 首页 > 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 进程号

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【鸿蒙应用】总结一下ArkUI
  • 力扣题解2848
  • 【C语言】分支和循环(下)
  • C语言指针和数组梳理
  • opencv之图像轮廓(三)--凸包
  • Unity SRP 可编程渲染管线的基本用法
  • Python——俄罗斯方块
  • 『功能项目』切换职业面板【48】
  • 笔试强训day13
  • MySQL索引-聚簇索引和非聚簇索引
  • Android 11 FileProvider的使用和限制
  • URL的执行流程
  • 【C-项目】网盘(一期,线程池版)
  • react 安装使用 antd+国际化+定制化主题+样式兼容
  • 进程vs线程:高效并发编程的基石
  • 2018一半小结一波
  • Python中eval与exec的使用及区别
  • Spark学习笔记之相关记录
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue ES6 Jade Scss Webpack Gulp
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 简析gRPC client 连接管理
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • # 数论-逆元
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #每日一题合集#牛客JZ23-JZ33
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (06)Hive——正则表达式
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)共用体union的用法举例
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (二)fiber的基本认识
  • (二)pulsar安装在独立的docker中,python测试
  • (二)springcloud实战之config配置中心
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (算法)前K大的和
  • (转)人的集合论——移山之道
  • *上位机的定义
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .Net Core和.Net Standard直观理解
  • .NET Core跨平台微服务学习资源
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET Standard 的管理策略
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • [AI 大模型] 百度 文心一言
  • [Cloud Networking] Layer 2
  • [exgcd] Jzoj P1158 荒岛野人