运营 | Linux 命令

85 阅读4分钟

运营 | Linux 命令

Linux中,需要使用一些命令,以及一些相关的系统文件,用于获取Linux系统信息和监控资源信息。

image-20240224220644799.png

🚗系统信息

1 uname命令用于显示系统信息

  • 查看内核版本:uname -r
  • 查看操作系统:uname -a

image-20240224222814286.png

  • 查看内核版本
uname -r
​
cat /proc/version
  • 查看发行版本
cat /etc/centos-release
​
cat /etc/redhat-release

image-20240224222522189.png

2 CPU信息

  • lscpu 命令用于显示CPU信息

image-20240224223915174.png

  • 标题CPU架构信息

    • Architecture:系统的CPU架构(例如:x86_64
    • CPU op-mode(s)CPU支持的操作模式(32位、64位)
    • Byte OrderCPU字节序(大端序或小端序)
  • CPU拓扑结构信息

    • CPU(s):逻辑CPU个数
    • On-line CPU(s) listCPU集合 0 ~ CPU个数
    • Thread(s) per core: 每个物理核心的逻辑核心个数
    • Core(s) per socket: 每个CPU插槽中的物理核心个数
    • NUMA node(s): 可见的NUMA节点数
    • Socket(s): CPU插槽数,一个插槽可以插入一个或多个物理CPU,每个物理CPU包含一个或多个物理核心。(1个主板上有2个CPU插槽,每个插槽中插有一个双路物理CPU,该系统的CPU插槽数是2,但实际的物理核心数是4
  • CPU特性信息

    • Vendor IDCPU供应商ID(例如:GenuineIntel
    • CPU familyCPU系列
    • ModelCPU型号
    • Model nameCPU型号名称
    • SteppingCPU步进
    • CPU MHzCPU主频
    • BogoMIPSLinux内核计算出的每秒钟模拟的百万指令数
    • Hypervisor vendor:虚拟机监控程序供应商:VMware
    • Virtualization: CPU是否支持虚拟化
    • L1d cache:每个物理核心的L1数据缓存大小
    • L1i cache:每个物理核心的L1指令缓存大小
    • L2 cache:每个物理核心的L2缓存大小
    • L3 cache:每个CPU插槽中的L3缓存大小
3 内存信息

  • free 命令用于显示内存使用情况
free --help

image-20240224230503782.png

  • 清理缓存

    • 清除PageCache(页面高速缓存)

      • sync && echo 1 > /proc/sys/vm/drop_caches
    • 清除dentriesinodes(目录项和索引节点)

      • echo 2 > /proc/sys/vm/drop_caches
    • 清除PageCachedentriesinodes

      • echo 3 > /proc/sys/vm/drop_caches
#!bin/bash
echo 3 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches

image-20240224230832966.png

4 硬盘信息

  • df(disk free) 命令用于显示磁盘空间使用情况
  • 根目录 / 仍然使用了 100% 的空间,可能会导致系统运行受阻,爬虫项目一定要做好数据清理,避免空间占满
df -h

image-20240224232157073.png

  • Filesystem:文件系统的设备或挂载点。
  • Size:文件系统的总容量。
  • Used:文件系统已使用的空间。
  • Avail:文件系统可用的空间。
  • Use%:文件系统已使用空间的百分比。
  • Mounted on:文件系统的挂载点。

  • du(disk use)查看使用空间的
du -h --max-depth=1 /

image-20240224232325520.png


  • lsblk 命令用于列出块设备(如磁盘分区)的信息

image-20240224235239941.png

5 进程和系统负载

ps 命令用于显示进程信息

  • 显示所有进程: ps aux

    • ps aux | grep 8006

image-20240224233219671.png

  • 按用户显示进程: ps -U username
  • 按进程树显示: ps -e --forest

top 命令用于动态显示系统资源使用情况

服务在平稳运行一段时间后,CPU异常飙高,可以使用top命令确认异常飙高的进程。

  1. 使用top命令查看哪个进程导致CPU飙高,获取PID
  2. 使用top -Hp PID对该进程下的线程进行观察,注意需要把十进制线程转为16进制
  3. 针对异常飙高的Java进程,需要使用jstack pid进行多次DUMP,观察16进制线程
[root@localhost ~]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, os
>>> hex(16)
'0x10'
>>> 

image-20240224234652517.png

6 日志文件

Linux 系统的日志文件通常存储在 /var/log 目录下,其中一些常见的日志文件包括:

  • 系统日志: /var/log/messages
  • 安全日志: /var/log/secure

image-20240224235123918.png

7. /proc 文件系统

Linux 提供了 /proc 文件系统,通过读取其中的文件,可以获取有关系统和进程的信息。

  • CPU 信息: /proc/cpuinfo
  • 内存信息: /proc/meminfo
  • 进程信息: /proc/[PID]/status
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/1234/status