Linux 查看系统资源常用命令

目录

Linux 查看系统资源常用命令

一、top

二、htop

三、vmstat

四、iostat

五、mpstat

六、free

七、sar

八、ps

九、pstree

十、lsof

十一、uptime

十二、dmesg

十三、dmidecode

十四、lsblk

十五、blkid

十六、fdisk -l

十七、parted -l

十八、df -h

十九、du -sh

二十、netstat -tuln


Linux 查看系统资源常用命令

一、top

  • 功能:动态实时显示系统各进程资源占用情况,涵盖 CPU 使用率、内存使用率、进程状态等多类信息,助于快速把握系统整体运行状态并定位资源占用大的进程。
  • 示例:于终端输入top,将呈现类似表格界面。首行展示系统运行时间、用户数、平均负载等;次行呈现各 CPU 核心使用率;下方表格则详列各进程的 PID、用户、优先级、Nice 值、虚拟内存大小、物理内存大小、共享内存大小、状态、CPU 使用率、内存使用率、占用 CPU 时间、命令等信息。
  • 详解:
  1. 第一行信息(系统整体信息)

    • top -:这是命令本身的名称,表示正在运行top命令。
    • 当前时间:显示当前系统时间,格式为“时:分:秒”,例如“14:30:20”,用于确定系统状态的时间点。
    • 系统运行时间:格式为“up x days, x:xx”,其中“x days”表示系统已经连续运行的天数,“x:xx”表示小时和分钟数。例如“up 3 days, 1:20”表示系统已经运行了3天1小时20分钟,通过这个信息可以了解系统的稳定性和持续工作时长。
    • 用户数量:显示当前登录到系统的用户个数,帮助了解系统的负载来源,因为每个用户可能会运行不同的程序和进程。
    • 系统平均负载(load average):这是三个数字,分别表示过去1分钟、5分钟和15分钟内系统的平均负载。例如“load average: 0.50,0.30,0.20”。系统平均负载是指单位时间内系统处于可运行状态和不可运行状态的平均进程数。一般来说,平均负载小于系统的CPU核心数时,系统性能良好;如果平均负载接近或超过CPU核心数,系统可能会出现性能问题。
  2. 第二行‌:展示任务(进程)的总数、正在运行的任务数、处于休眠状态的任务数、停止的进程数、僵尸进程数。
    内容含义
    108 total进程总数
    2 running正在运行的进程数
    106 sleeping睡眠的进程数
    0 stopped停止的进程数
    0 zombie僵尸进程数
  3. 第三行信息(CPU信息)

    • %Cpu(s):表示CPU的整体使用情况。
      • us(user):用户空间占用CPU的百分比,即用户进程(如应用程序)使用CPU的时间占总CPU时间的比例。例如“us=20.0%”,表示用户进程占用了20%的CPU时间,高用户使用率可能是因为正在运行计算密集型的应用程序。
      • sy(system):内核空间占用CPU的百分比,代表操作系统内核(如系统调用、设备驱动程序等)使用CPU的时间比例。例如“sy = 10.0%”,说明内核占用了10%的CPU时间,高内核使用率可能暗示系统在进行大量的I/O操作或者进程调度等内核相关任务。
      • ni(nice):用户进程优先级调整(nice值)后占用CPU的百分比。nice值用于调整进程的优先级,范围从 -20(最高优先级)到19(最低优先级)。正值表示降低进程优先级,负值表示提高进程优先级。例如“ni = 0.0%”,说明没有进程因为优先级调整而占用额外的CPU时间。
      • id(idle):CPU空闲时间的百分比,即CPU处于空闲状态、没有执行任何任务的时间占比。例如“id = 60.0%”,表示CPU有60%的时间是空闲的,高空闲率通常表示系统资源没有被充分利用。
      • wa(iowait):CPU等待I/O操作完成的时间百分比。当进程需要等待磁盘I/O、网络I/O等操作完成时,CPU会处于等待状态,这个值就会增加。例如“wa = 5.0%”,说明CPU有5%的时间在等待I/O操作,高I/O等待时间可能是因为磁盘或网络性能瓶颈。
      • hi(hardirq):处理硬件中断的时间百分比。硬件中断是由硬件设备(如键盘、鼠标、网卡等)向CPU发出的信号,用于请求CPU处理某些紧急事务。例如“hi = 0.5%”,表示CPU花费0.5%的时间处理硬件中断。
      • si(softirq):处理软件中断的时间百分比。软件中断通常是由操作系统内核或其他软件产生的中断请求,用于执行一些异步任务。例如“si = 0.3%”,说明CPU用0.3%的时间处理软件中断。
      • st(steal):在虚拟化环境中,被其他虚拟机“偷走”的CPU时间百分比。如果系统是虚拟机,这个值可以反映出宿主机资源分配给其他虚拟机的情况。例如“st = 0.0%”,表示没有CPU时间被其他虚拟机占用。
  4. 第四行‌:展示内存状态,包括物理内存总量、空闲的物理内存总量、使用中的内存总量等。

    内容含义
    KiB Mem: 3880176 total物理内存总量,单位:B
    这是系统物理内存的总大小。通过它可以了解系统安装的物理内存规模,例如,total显示为 8GB(假设单位是 GB),说明系统物理内存是 8GB。这个数值是固定的,取决于硬件配置,在系统运行过程中不会改变。
    166316 free空闲的物理内存总量,单位:B
    代表系统中当前尚未被使用的物理内存数量。当free值较低时,系统可能会开始使用交换空间(swap)来满足内存需求。不过,即使free值显示为较低,也不一定意味着系统性能会立即受到影响,因为系统会尽量利用缓存和缓冲来提高性能。例如,free显示为 2GB,说明还有 2GB 的物理内存可以直接用于分配给新的进程或其他内存需求。
    772292 used使用的物理内存总量,单位:B
    表示系统中当前已被使用的物理内存量。它包括进程正在使用的内存(如进程的代码段、数据段、栈等占用的内存)、缓存(用于加速文件系统和磁盘 I/O 的缓存)和缓冲(用于缓冲输入输出操作的内存)等部分。例如,如果used显示为 6GB,意味着系统中有 6GB 的物理内存正在被以各种方式占用。通过观察used值的变化,可以了解系统内存的使用趋势,若used值不断上升,可能需要关注是否有内存泄漏或者系统负载增加的情况。
    2941568 buff/cache用作内核缓存的内存总量,单位:B
    buff是用于缓冲输入输出操作的内存,例如磁盘 I/O 缓冲。cache主要是文件系统缓存,用于存储最近访问过的文件数据,以便下次访问时能够更快地读取。这部分内存是可以被系统动态调整的,当系统需要更多的内存来运行新的进程时,缓存和缓冲中的部分数据可以被释放。例如,一个频繁访问文件的系统,buff/cache的值可能会比较高,因为系统会将文件数据缓存起来以提高访问速度。
  5. 第五行‌:展示交换分区(swap)的使用情况。
    内容含义
    KiB Swap: 0 total交换区总量,单位:B
    这是系统中设置的交换空间(虚拟内存)的总大小。交换空间是磁盘上的一块区域,用于在物理内存不足时,将部分内存数据交换到磁盘上,以腾出物理内存给其他更急需的进程。交换空间的大小可以在系统安装或者配置时设置,例如,total显示为 4GB,说明系统有 4GB 的交换空间可供使用。
    0 free空闲的交换区总量,单位:B
    代表系统中尚未被使用的交换空间数量。通过观察free值,可以了解系统还有多少交换空间可以用于在物理内存不足时进行数据交换。例如,free显示为 1GB,说明还有 1GB 的交换空间可以使用。不过,尽量保持交换空间有一定的余量是比较好的,因为一旦交换空间全部被占用,系统可能会出现严重的性能问题甚至崩溃。
    0 used使用的交换区总量,单位:B
    表示当前已经被使用的交换空间大小。当系统物理内存紧张,开始将内存数据交换到磁盘时,used值会增加。如果used值持续较高,说明系统可能经常处于物理内存不足的状态,这会导致系统性能下降,因为磁盘 I/O 速度远低于内存 I/O 速度。例如,used显示为 3GB,意味着有 3GB 的内存数据已经被交换到磁盘上。
    2809396 avail Mem代表可用于进程下一次分配的物理内存数量
  6. 进程信息表格部分(第五行及以下)

    • PID(Process ID):进程的唯一标识符,用于区分不同的进程。通过PID可以对特定进程进行操作,如使用kill命令终止进程(kill PID)。
    • USER:启动该进程的用户账号名称。了解进程所属用户可以判断进程的来源和权限范围,例如,不同用户运行的进程可能具有不同的资源访问权限。
    • PR(Priority):进程的优先级,数值越小优先级越高。优先级决定了进程在CPU时间分配中的先后顺序,高优先级的进程会优先获得CPU资源。
    • NI(Nice Value):用于调整进程优先级的数值,范围是 -20到19。如前面所述,正值降低优先级,负值提高优先级。
    • VIRT(Virtual Memory Size):进程使用的虚拟内存大小,包括进程代码、数据、共享库以及已经分配但尚未使用的内存空间。单位是KB。虚拟内存是操作系统为每个进程提供的一种抽象内存空间,它可以大于物理内存。
    • RES(Resident Memory Size):进程使用的物理内存(常驻内存)大小,即进程实际占用的物理内存空间。单位是KB。这部分内存是进程真正在内存中驻留并使用的部分,与系统性能密切相关,因为物理内存资源是有限的。
    • SHR(Shared Memory Size):进程使用的共享内存大小。共享内存是多个进程可以共同访问的内存区域,通常用于进程间通信或共享数据。单位是KB。通过共享内存,进程可以高效地共享信息,减少内存占用。
    • S(Status):进程的状态,常见的状态有:
      • R(Running):进程正在运行或处于可运行队列中,等待CPU资源分配。
      • S(Sleeping):进程正在睡眠状态,通常是在等待某个事件(如I/O操作完成、信号触发等)。
      • D(Disk Sleep):不可中断的睡眠状态,通常是在进行磁盘I/O等关键操作时,进程不能被中断,否则可能导致数据丢失或系统不稳定。
      • Z(Zombie):僵尸进程,进程已经结束,但父进程尚未回收其资源。僵尸进程会占用一定的系统资源,过多的僵尸进程可能会导致系统问题。
      • T(Stopped):进程被停止,可能是通过信号(如SIGSTOP)暂停,或者在调试过程中被挂起。
    • %CPU:进程占用CPU的百分比,这个值是动态变化的,用于快速定位占用CPU资源较多的进程。例如,一个进程的%CPU为50.0%,说明它目前占用了一半的CPU资源。
    • %MEM:进程占用物理内存的百分比,同样是动态变化的。可以帮助识别占用内存较多的进程,例如,%MEM为30.0%的进程占用了系统物理内存的30%。
    • TIME +:进程自启动以来累计使用CPU的时间,格式为“小时:分钟:秒”。这个信息可以了解进程对CPU资源的长期占用情况。
    • COMMAND:启动该进程的命令名称或者命令行参数。通过这个字段可以知道进程是由哪个程序或脚本启动的,对于识别进程的功能和用途很有帮助。

二、top命令的交互命令

top命令支持多种交互命令,方便用户定制监控信息或进行其他操作。

  • d‌:设置top页面刷新时间。
  • h或?‌:进入帮助页面,查看top命令的更多信息和用法。
  • q或Ctrl+C‌:退出top命令。
  • 1‌:监控每个逻辑CPU的状况。
  • b‌:高亮显示当前运行进程。
  • F或f‌:进入字段管理功能,选择想要显示的字段信息。

如何根据top命令的输出结果来优化系统性能?

  1. 识别 CPU 密集型进程

    • 查看 % CPU 列:在top命令的输出结果中,重点关注%CPU列。如果发现某个进程的%CPU值持续较高(例如超过 80%),这表明该进程是 CPU 密集型的。
    • 确定进程的必要性:通过查看COMMAND列确定该进程对应的程序或任务。判断这个高 CPU 占用的进程是否是关键业务进程。如果是,可以考虑升级硬件(如增加 CPU 核心数)来满足其需求;如果不是,比如是一个失控的后台进程或者恶意软件,可能需要采取措施终止它。例如,如果发现一个名为miner.exe的挖矿程序占用大量 CPU 资源,这通常是不需要的,可以使用kill命令(通过PID)来终止该进程。
    • 调整进程优先级(NI):对于一些非关键但又不能终止的 CPU 密集型进程,可以适当降低其优先级(增加NI值)。不过,这需要谨慎操作,因为错误地调整优先级可能会影响相关应用程序的正常运行。例如,对于一个正在进行大数据分析的非紧急任务,可以通过renice命令适当增加其NI值,使其让出部分 CPU 资源给更重要的进程。
    • CPU使用率过高排查思路

      1.使用top命令,然后按P按照CPU使用率降序排序,找到占用CPU过高的进程id
      2.使用`ps -mp [进程id] -o THREAD,tid,time | sort -rm`获取线程信息,并找到占用CPU高的线程
      3.使用`echo 'obase=16;[线程id]' | bc`或`echo 'obase=16;[线程id]' | printf "%x\n" [线程id]`将线程ID转为16进制
      4.使用`jstack 进程id | grep "线程id的16进制" -A 30`打印线程的堆栈信息
      5.从堆栈信息中找到是程序中的那几行代码是一直处于running状态的,从而定位问题。
      6.定位问题后,将进程kill掉
      

  2. 处理内存占用问题

    • 观察 % MEM 列:查看%MEM列来确定内存占用率高的进程。如果一个进程的%MEM值过高(如超过 70%),可能会导致系统内存紧张。
    • 分析内存占用原因:结合VIRT(虚拟内存)和RES(物理内存)列来分析进程的内存使用情况。如果VIRT很高但RES相对较低,可能是进程申请了大量虚拟内存但尚未全部使用;如果RES很高,说明进程实际占用的物理内存较多。对于内存泄漏的进程(随着时间推移,RES不断增加),可能需要重启该进程或者修复相关程序。例如,一个 Java 应用程序出现内存泄漏,RES值不断上升,可以通过分析 Java 堆内存使用情况或者重启应用程序来解决。
    • 释放内存资源:如果系统内存紧张,可以考虑优化内存使用。一种方法是关闭一些不必要的后台程序和服务来释放内存。另外,对于使用缓存机制的应用程序,可以适当调整缓存策略,减少缓存占用的内存。例如,在数据库服务器中,可以根据实际情况调整数据库缓存的大小。
  3. 关注系统负载(Load Average)

    • 理解系统负载含义:系统平均负载表示单位时间内系统处于可运行状态和不可运行状态的平均进程数。如果系统负载持续高于系统的 CPU 核心数,系统性能可能会下降。例如,在一个 4 核 CPU 的系统中,平均负载超过 4 时,系统可能会出现响应变慢等问题。
    • 分析负载高的原因:高系统负载可能是由 CPU 密集型进程、I/O 密集型进程或者大量等待资源的进程引起的。结合%CPU%MEMwa(I/O 等待)列来综合判断。如果wa值较高,可能是磁盘 I/O 或者网络 I/O 出现瓶颈;如果%CPU%MEM都较高,可能是同时运行了多个资源密集型的进程。
    • 采取相应措施:如果是 I/O 瓶颈,可以考虑升级磁盘(如更换为固态硬盘)或优化网络设置(如增加带宽、优化网络拓扑)。如果是因为运行过多的进程导致负载过高,可以限制同时运行的进程数量,或者将一些非关键进程推迟到系统负载较低的时候运行。
  4. 处理 I/O 等待(wa)问题

    • 确定 I/O 瓶颈:当wa列的值较高(例如超过 20%),表明系统可能存在 I/O 瓶颈。这可能是由于磁盘读写速度慢、网络传输延迟高或者数据库查询效率低等原因引起的。
    • 优化磁盘 I/O:如果是磁盘 I/O 问题,可以使用工具(如iostat)进一步分析磁盘性能。可能的解决方案包括对磁盘进行碎片整理、优化文件系统(如使用更高效的文件系统类型)、增加磁盘缓存或者升级磁盘设备(如更换为更快的硬盘或固态硬盘)。例如,对于一个频繁读写数据的服务器,可以将数据存储在固态硬盘上以提高读写速度。
    • 优化网络 I/O:对于网络 I/O 问题,可以使用netstat等工具检查网络连接状态和网络流量。可以考虑优化网络配置,如调整网络带宽、优化路由设置、减少不必要的网络服务等。如果是数据库查询导致的 I/O 等待,可以优化数据库查询语句、增加数据库缓存或者升级数据库服务器硬件。
  5. 检查僵尸进程(Z 状态)

    • 识别僵尸进程:在top命令输出的S(Status)列中查找状态为Z(Zombie)的进程。僵尸进程是已经结束但父进程尚未回收其资源的进程。
    • 清除僵尸进程:僵尸进程会占用系统资源,虽然单个僵尸进程占用资源较少,但过多的僵尸进程可能会影响系统性能。可以通过找到僵尸进程的父进程并让其回收子进程资源,或者直接终止父进程(如果可行)来清除僵尸进程。在某些情况下,可能需要重启相关的服务或应用程序来彻底清除僵尸进程。

二、htop

  • 功能top增强版,界面更友好,功能更丰富,支持鼠标操作,以彩色直观展示进程资源占用,且便于对进程排序、过滤等操作。
  • 示例:安装htop后在终端输入htop,界面以不同颜色区分进程类型,如绿色示用户进程,红色可能表内核相关进程等。可借上下箭头键选进程,按F4键过滤进程,按F6键排序进程。

三、vmstat

  • 功能:报告虚拟内存统计信息及系统进程、CPU 活动、磁盘 I/O 和块设备活动信息,提供系统性能综合视图,助力分析系统瓶颈。
  • 示例:在终端输入vmstat 2 5,其中2为每隔 2 秒更新数据,5为共更新 5 次。输出含procs(进程相关信息,如运行及等待 I/O 的进程数等)、memory(内存使用情况,如空闲、已用、缓存内存等)、swap(交换分区使用情况)、io(块设备 I/O 信息)、system(系统相关信息,如中断与上下文切换次数等)、cpu(CPU 使用率,包括用户态、内核态、空闲、等待 I/O 时间等百分比)。

四、iostat

  • 功能:主用于监控系统磁盘 I/O 性能,含磁盘读写速度、每秒传输次数、平均等待时间等参数,可判定磁盘是否为系统性能瓶颈。
  • 示例:执行iostat -x 3 4-x示显示扩展统计信息,3为每隔 3 秒更新数据,4为共更新 4 次。输出详列各磁盘设备的rrqm/s(每秒合并读请求数)、wrqm/s(每秒合并写请求数)、r/s(每秒读次数)、w/s(每秒写次数)、rkB/s(每秒读千字节数)、wkB/s(每秒写千字节数)、avgrq - sz(平均每次请求扇区数)、avgqu - sz(平均队列长度)、await(平均等待时间)、svctm(平均服务时间)、%util(设备使用率)等信息。

五、mpstat

  • 功能:用于多处理器系统,报告各 CPU 使用情况,含用户态、内核态、空闲态等不同状态时间占比,便于分析 CPU 负载均衡性。
  • 示例:运行mpstat -P ALL 2 3-P ALL表显示所有 CPU 信息,2为每隔 2 秒更新数据,3为共更新 3 次。输出有CPU(CPU 编号)、%usr(用户态使用率)、%nice(用户态调整优先级后使用率)、%sys(内核态使用率)、%iowait(等待 I/O 时间占比)、%irq(处理中断时间占比)、%soft(处理软件中断时间占比)、%steal(被其他虚拟机占用时间占比)、%idle(空闲时间占比)等列。

六、free

  • 功能:显示系统内存使用状况,含总内存、已用内存、空闲内存、共享内存、缓存内存等信息,使用户明晰内存资源分配。
  • 示例:输入free -h-h以人类可读格式(如 KB、MB、GB 等)输出。输出呈total(总内存)、used(已用内存)、free(空闲内存)、shared(共享内存)、buff/cache(缓冲 / 缓存内存)、available(可用内存)等行及对应内存大小。

free 命令用于显示系统内存的使用情况,包括物理内存(RAM)、交换空间(Swap)以及内核缓冲区(buffers/cache)的统计信息。以下是 free 命令输出的详细解析:


1. 默认输出示例
$ free
              total        used        free      shared  buff/cache   available
Mem:        8192028     3204984      872864      234492     4114180     4458204
Swap:       2097148           0     2097148

2. 各列含义说明
列名说明
total总内存大小(物理内存或Swap的总容量)。
used已使用的内存​(包括应用占用 + 内核缓冲区/缓存的一部分)。
free完全未被使用的内存​(未被任何进程或内核占用的内存)。
shared被多个进程共享的内存(常见于共享库、tmpfs等场景)。
buff/cache内核缓冲区(buffers)和缓存(cache)占用的内存
buffers:块设备(如磁盘)的临时缓存(写缓冲)。
cache:文件系统的缓存(读缓存)。
这部分内存在应用需要时可被快速释放。
available当前可供应用程序使用的内存估计值​(= free + 可回收的buffers/cache)。更准确的可用内存指标。

3. 内存类型区分
  • 物理内存(Mem)​:即RAM,是系统实际的内存硬件。
  • 交换空间(Swap)​:磁盘上的虚拟内存,当物理内存不足时,系统会将不活跃的内存页交换到Swap中。

4. 关键解读原则
  1. 不要只看 free 列
    Linux会尽可能利用空闲内存作为缓存(buff/cache),即使free显示很小,只要available充足,系统运行仍然正常。

  2. ​**available 是核心指标**:
    表示系统剩余的可分配内存,若available接近total,说明内存充足;若available持续低于总内存的10%,需警惕内存不足。

  3. Swap的使用

    • 若 Swap used 持续增长,说明物理内存不足,系统频繁使用Swap,可能导致性能下降。
    • 若 Swap used 长期为0,可能配置了禁用Swap或内存充足。

5. 常用选项
选项说明
free -h以易读的单位(GiB/MiB)显示内存大小(推荐使用)。
free -s 2每2秒刷新一次输出(类似实时监控)。
free -t在底部添加一行 Total,汇总物理内存和Swap的总使用情况。
free -w将 buffers 和 cache 分开显示(需要较新版本的free)。

示例(free -h 输出):​

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G        3.0G        830M        223M        3.9G        4.2G
Swap:          2.0G          0B        2.0G

6. 内存状态分析示例
  • 场景1:应用内存不足

    Mem:   7.8G   used: 7.5G   free: 100M   buff/cache: 200M   available: 300M
    Swap:  2.0G   used: 1.5G

    解读:物理内存几乎耗尽,Swap使用量高,需优化应用或扩容内存。

  • 场景2:健康状态

    Mem:   7.8G   used: 3.0G   free: 1.2G   buff/cache: 3.6G   available: 4.5G
    Swap:  2.0G   used: 0B

    解读available 充足,系统运行良好,buff/cache 被合理利用。


7. 内存优化建议
  1. 减少内存泄漏:通过 tophtop 或 ps 命令监控进程内存占用。
  2. 调整Swap策略
    • 修改 /etc/sysctl.conf 中的 vm.swappiness(默认60),降低值可减少Swap使用。
  3. 清理缓存​(谨慎操作):
    sync && echo 3 > /proc/sys/vm/drop_caches  # 释放PageCache、dentries、inodes

总结free 命令是分析系统内存状态的核心工具,重点关注 available 和 Swap used 指标,结合应用场景判断内存健康状况。

 

七、sar

  • 功能:系统活动报告工具,收集、报告与保存系统活动信息,如 CPU、内存、磁盘 I/O、网络等方面数据,借其报告可析系统一段时间内性能变化。
  • 示例:如sar -u 3 5用于查 CPU 使用率,3为每隔 3 秒收集数据,5为收集 5 次。输出有Linux(系统名称)、hostname(主机名)、date(日期)等基本信息,及CPU(CPU 编号)、%user(用户态使用率)、%nice(用户态调整优先级后使用率)、%system(内核态使用率)、%iowait(等待 I/O 时间占比)、%steal(被其他虚拟机占用时间占比)、%idle(空闲时间占比)等 CPU 使用情况相关列。

八、ps

  • 功能:查看系统进程信息,依不同条件(如进程 ID、用户、CPU 使用率等)筛选与显示进程,提供进程静态快照,与tophtop动态显示有别。
  • 示例ps -ef命令显所有进程详细信息,含 UID(用户 ID)、PID(进程 ID)、PPID(父进程 ID)、C(CPU 使用率)、STIME(启动时间)、TTY(终端设备)、TIME(累计 CPU 时间)、CMD(命令)等列。ps -aux亦常用,输出格式稍异,且可显更详资源占用情况,如内存使用率等。

九、pstree

  • 功能:以树形结构展示系统进程关系,清晰呈现各进程父子与层次关系,利理解系统进程组织。
  • 示例:终端输入pstree,以树形图显进程,如以systemd为根节点,其下有(sshd)(httpd)等子进程,各进程下或有自身子进程,借线条与缩进表父子关系。

十、lsof

  • 功能:列出系统当前所有打开文件与进程相关信息,文件涵盖普通文件、目录、设备文件、网络套接字等,可查进程打开资源及资源被何进程占用。
  • 示例lsof -i可查所有打开网络套接字的进程,含 TCP 与 UDP 端口使用情况,显进程的 PID、用户、命令、本地 IP 与端口、远程 IP 与端口等信息。lsof /dev/sda则可查哪些进程正访问/dev/sda磁盘设备。

十一、uptime

  • 功能:简洁显示系统运行时长、当前登录用户数及系统平均负载。平均负载指过去 1 分钟、5 分钟和 15 分钟内系统平均任务队列长度。
  • 示例:终端输入uptime,输出或似12:34:56 up 2 days, 3:45, 5 users, load average: 0.50, 0.30, 0.20,其中12:34:56为当前时间,up 2 days, 3:45表系统已运行 2 天 3 小时 45 分钟,5 users表当前有 5 个用户登录,后三个数字是过去 1 分钟、5 分钟和 15 分钟的平均负载。

十二、dmesg

  • 功能:查看内核环形缓冲区消息,含系统启动时硬件设备初始化、驱动加载、系统错误等信息,对排查系统启动与硬件相关问题颇有益。
  • 示例:运行dmesg | less,可逐页查内核消息。如查新插 USB 设备是否正确识别时,可于dmesg输出中寻 USB 设备初始化信息。

十三、dmidecode

  • 功能:获取系统硬件信息,涵盖 BIOS 信息、系统主板信息、内存信息、处理器信息等,通过读取 DMI 表数据提供详备硬件配置情况。
  • 示例dmidecode -t memory可查内存相关信息,如内存模块大小、速度、类型、制造商等。dmidecode -t system可获系统总体信息,如制造商、产品名称、序列号等。

十四、lsblk

  • 功能:列出系统块设备信息,包括磁盘、分区、虚拟磁盘等,可查设备名称、大小、挂载点、文件系统类型等内容,助于了解系统存储设备布局。
  • 示例:终端输入lsblk,输出类似如下信息:
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
└─sda2   8:2    0   50G  0 part /home

其中NAME为设备名称,MAJ:MIN为主次设备号,RM示是否可移动,SIZE为设备大小,RO表是否只读,TYPE为设备类型,MOUNTPOINT为挂载点。

十五、blkid

  • 功能:定位或打印块设备(如磁盘分区)属性信息,主为文件系统类型与 UUID(通用唯一识别码),于挂载磁盘分区或设文件系统相关操作时有用。
  • 示例:运行blkid,输出或为/dev/sda1: UUID="12345678 - 9abc - def0 - 1234 - 56789abcdef0" TYPE="ext4",此显/dev/sda1分区的 UUID 与文件系统类型为ext4

十六、fdisk -l

  • 功能:查看磁盘分区信息,含分区起始位置、结束位置、大小、分区类型等。虽现已有更优分区工具,然fdisk -l仍为快速查分区情况常用命令。
  • 示例:执行fdisk -l,列出系统所有磁盘分区信息,如Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors,后详列各分区信息,如/dev/sda1分区起始扇区、结束扇区、大小等。

十七、parted -l

  • 功能:与fdisk -l类同,亦用于查看磁盘分区信息,然parted -l支持更多分区类型与高级功能,处理大于 2TB 磁盘时更便。
  • 示例:终端输入parted -l,显磁盘设备名称、大小、分区格式(如 GPT 或 MBR)及各分区详信,包括文件系统类型、起始位置、结束位置等。

十八、df -h

  • 功能:查看文件系统磁盘空间使用情况,含已用空间、可用空间、文件系统挂载点等信息。-h选项使输出以人类可读格式(如 KB、MB、GB 等)呈现。
  • 示例:运行df -h,输出或似:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       50G   30G   20G  60% /
/dev/sda2       50G   10G   40G  20% /home

此显各文件系统大小、已用空间、可用空间、使用率与挂载点。

十九、du -sh

  • 功能:查看指定目录或文件磁盘使用情况。-s选项汇总显示,-h选项以人类可读格式输出,可速知某目录或文件占用磁盘空间大小。
  • 示例du -sh /home可查/home目录占用磁盘空间大小,输出或为20G /home,表/home目录共占 20GB 磁盘空间。

二十、netstat -tuln

  • 功能:查看网络连接状态与监听端口信息。-t查 TCP 连接,-u查 UDP 连接,-l查监听端口,-n以数字形式(不解析主机名与服务名)显示,助于了解系统运行网络服务与网络连接情况。
  • 示例:终端输入netstat -tuln,输出显本地地址、外部地址、状态(对 TCP 连接)、协议(TCP 或 UDP)、本地端口与远程端口等信息,如tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN表本地所有 IP 地址的 80 端口正监听 TCP 连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值