查看Linux系统信息的常用命令

文章目录

    • 1. 机器配置查看
    • 2. 常用分析工具
    • 3. 常用指令解读
      • 3.1 lscpu
    • 4. 定位僵尸进程
    • 5. 参考

1. 机器配置查看

# 总核数=物理CPU个数x每颗物理CPU的核数
# 总逻辑CPU数=物理CPU个数x每颗物理CPU的核数x超线程数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l  # 查看物理CPU个数
cat /proc/cpuinfo| grep "processor"| wc -l                # 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "cpu cores"| uniq                 # 查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo |grep name |cut -d: -f2 |uniq -c        # 查看CPU信息(型号)
cat /proc/cpuinfo |grep MHz |uniq                         # 查看CPU主频
[sweet@T-T ~]$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2
[sweet@T-T ~]$ cat /proc/cpuinfo| grep "processor"| wc -l
32
# 这个服务器一共32个逻辑CPU,也就是我们常说的线程数,也就说每个核可以提供2个线程。
[sweet@T-T ~]$  cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores	: 8
[sweet@T-T ~]$ cat /proc/cpuinfo |grep name |cut -d: -f2 |uniq -c
32  Intel(R) Xeon(R) Gold 6234 CPU @ 3.30GHz

2. 常用分析工具

主要分析工具

  • vmstat、sar、mpstat、pidstat:检测是否存在 CPU 瓶颈(线程);
  • vmstat、free:检测是否存在内存瓶颈(进程);
  • iostat:检测是否存在磁盘 I/O 瓶颈;
  • netstat:检测是否存在网络 I/O 瓶颈;

排查流程

  • CPU:top jstack vmstat
  • 磁盘:df iostat iotop
  • 内存:free OOM
  • 网络:netstat

工具枚举

  1. CPU信息lscpu 命令可以查看CPU的详细信息,例如核心数、频率等。
  2. 内存信息free 命令可以查看内存使用情况,包括总内存、已用内存、可用内存等。
  3. 磁盘空间df 命令用于显示磁盘分区的空间使用情况。
  4. 进程信息ps 命令可以列出当前运行的进程,top 命令可以实时显示进程的系统资源使用情况。
  5. 网络连接netstatss 命令可以列出当前的网络连接情况。
  6. 日志文件/var/log/ 目录下存储了系统的各种日志文件,您可以查看这些日志文件以了解系统运行情况和潜在问题。
  7. 系统负载uptime 命令可以显示系统的负载情况,即CPU平均负载。
  8. 网络性能ping 命令可以测试与其他主机的网络连接,traceroute 命令可以跟踪数据包的路径。
  9. 硬件信息lshwlspci 命令可以获取硬件设备的信息,例如CPU、内存、显卡等。
  10. 系统信息uname 命令用于查看系统的基本信息,例如内核版本、操作系统类型等。
  11. 系统服务systemctl 命令用于管理系统服务,可以查看服务的状态、启动、停止等。
  12. 系统安全ufw 命令用于管理防火墙规则,fail2ban 可以保护系统免受暴力破解攻击。

3. 常用指令解读

3.1 lscpu

在终端中运行 lscpu 命令输出:
查看Linux系统信息的常用命令_第1张图片解析:

  • CPU的架构, 此处为 x86_64,表示使用64位的x86架构。
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian

  • CPU op-mode(s)(CPU运行模式):显示CPU支持的运行模式,包括32位和64位。

  • Byte Order(字节顺序):显示字节顺序,此处为 Little Endian,表示低位字节在前。

  • cpu逻辑核数,显示系统中CPU的总数,此处为 80,表示系统有80个CPU核心。
    CPU(s): 80

  • On-line CPU(s) list(在线CPU列表):显示在线CPU的编号范围,此处为 0-79,表示编号从0到79的CPU核心都在线。

  • 超线程(每核线程数):指的每个 Core 的硬件线程数,超线程。此处为 2,表示每个核心支持2个线程。数值为1时,表示不支持超线程。
    Thread(s) per core: 2

  • 单个cpu物理核数(每插槽核心数):显示每个CPU插槽(socket)支持的核心数,此处为 4,表示每个插槽有4个核心。
    Core(s) per socket: 20

  • 座/Socket(s)(插槽数量):指的是主板上CPU的插槽,服务器通常会有多个,此处为 2,表示系统有2个CPU插槽。

  • NUMA 节点: 2

  • Vendor ID(厂商ID):显示CPU制造商ID,此处为 GenuineIntel,表示CPU制造商为Intel。

  • CPU family(CPU系列):显示CPU家族,此处为 6。

  • Model(型号):显示CPU型号,此处为 85。

  • Model name(型号名称):显示CPU型号名称,此处为 Intel® Xeon® Gold 5218R CPU @ 2.10GHz。

  • Stepping步进: 7

  • CPU MHz(CPU频率):显示CPU的时钟频率,此处为 2100.000 MHz。

  • BogoMIPS:一个用于衡量CPU性能的估算值。

  • Virtualization(虚拟化支持):显示CPU是否支持虚拟化,此处为 VT-x,表示支持虚拟化技术。

  • 物理cpu处理器个数

  • 一级高速缓存 指令集
    L1d 缓存: 32K

  • 一级高速缓存 数据集
    L1i 缓存: 32K

  • 二级高速缓存
    L2 缓存: 1024K

  • 三级高速缓存
    L3 缓存: 28160K

  • 物理cpu0里面的逻辑内核
    NUMA 节点0 CPU: 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78

  • 物理cpu1里面的逻辑内核
    NUMA 节点1 CPU: 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79

  • liunx高速缓存地址
    lscpu
    其中:
    index0是一级缓存 数据指令 存放的地方
    index1是一级缓存 数据储存 存放的地方(即一级缓存分指令和数据2部分存储)
    index2是二级缓存 数据存储 存放的地方
    index3是三级缓存 数据存储 存放的地方

通过 lscpu 命令,我们可以了解到系统的CPU配置,包括核心数、线程数、频率、缓存大小等,这些信息对于了解系统性能和优化应用程序的运行非常有用。

4. 定位僵尸进程

使用ps命令结合-e选项和-o选项来查看所有进程的状态:

ps -eo pid,ppid,stat,cmd | grep -w Z

这会列出所有状态为Z的进程,即僵尸进程。
输出:
查看Linux系统信息的常用命令_第2张图片

 ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'

输出:
查看Linux系统信息的常用命令_第3张图片

指令参数解读: 
ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'
-A  参数列出所有进程
-o  自定义输出字段 stat(状态)、ppid(进程父id)、pid(进程id)、cmd(命令) 
因为状态为z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

还可以通过top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程。
查看Linux系统信息的常用命令_第4张图片

5. 参考

【Linux】查看系统各种信息的常用命令 (CPU、内存、进程、网口、磁盘、硬件、等等)
Linux性能检查常用命令

你可能感兴趣的:(Linux,linux,运维,服务器)