使用
top
、htop
命令查看系统资源实时使用情况,free
Linux系统中,有多种方法可以查看机器的性能,以下是一些常用的命令和工具,以及它们的详细使用方法:
top
和 htop
-
top
:实时显示系统的任务管理器,默认按CPU使用率排序。top
- 输出说明:
- %Cpu(s):CPU使用率,包括用户空间、系统空间、空闲等。
- Tasks:进程总数、运行中的进程数、睡眠中的进程数。
- Mem:内存使用情况,包括总内存、已用内存、空闲内存。
- Swap:交换分区的使用情况。
- PID:进程ID。
- USER:进程所有者。
- PR:优先级。
- NI:nice值。
- VIRT:虚拟内存使用量。
- RES:物理内存使用量。
- SHR:共享内存使用量。
- S:进程状态(S=睡眠,R=运行,Z=僵尸,T=停止)。
- %CPU:CPU使用率。
- %MEM:内存使用率。
- TIME+:进程运行时间。
- COMMAND:进程命令行。
- 输出说明:
-
htop
:top
的增强版,支持鼠标操作和更直观的界面。htop
- 特点:
- 支持横向和纵向滚动。
- 支持按F2进入设置菜单,调整显示选项。
- 支持按F9删除进程,按F5切换树状视图。
- 特点:
vmstat
vmstat
:报告虚拟内存统计信息,包括进程、内存、分页、块IO、陷阱和CPU活动。vmstat 2
- 输出说明:
- procs:r列表示运行队列中的进程数,b列表示阻塞队列中的进程数。
- memory:swpd列表示使用的交换内存,free列表示空闲内存,buff列表示缓冲区内存,cache列表示缓存内存。
- swap:si列表示从磁盘交换到内存的速率,so列表示从内存交换到磁盘的速率。
- io:bi列表示块设备每秒接收的请求数,bo列表示块设备每秒完成的请求数。
- system:in列表示每秒中断次数,cs列表示每秒上下文切换次数。
- cpu:us列表示用户空间CPU使用率,sy列表示系统空间CPU使用率,id列表示空闲CPU使用率,wa列表示等待IO的CPU使用率,st列表示被偷走的CPU时间(虚拟机)。
- 输出说明:
iostat
iostat
:报告CPU统计信息和块设备或分区的IO统计信息。iostat -x 2
- 输出说明:
- CPU:%user列表示用户空间CPU使用率,%nice列表示nice值的CPU使用率,%system列表示系统空间CPU使用率,%iowait列表示等待IO的CPU使用率,%steal列表示被偷走的CPU时间,%idle列表示空闲CPU使用率。
- Device:tps列表示每秒事务数,kB_read/s列表示每秒读取的KB数,kB_wrtn/s列表示每秒写入的KB数,kB_read列表示读取的总KB数,kB_wrtn列表示写入的总KB数。
- 输出说明:
free
free
:显示系统的内存使用情况,包括总内存、已用内存、空闲内存和交换分区。free -h
- 输出说明:
- total:总内存大小。
- used:已用内存大小。
- free:空闲内存大小。
- shared:共享内存大小。
- buff/cache:缓冲区和缓存内存大小。
- available:可用内存大小。
- 输出说明:
df
df
:显示文件系统的磁盘空间使用情况。df -h
- 输出说明:
- Filesystem:文件系统名称。
- Size:文件系统总大小。
- Used:已用空间大小。
- Avail:可用空间大小。
- Use%:已用空间百分比。
- Mounted on:挂载点。
- 输出说明:
lsblk
lsblk
:列出所有块设备及其挂载点。lsblk
- 输出说明:
- NAME:设备名称。
- MAJ:MIN:主设备号和次设备号。
- RM:是否可移除。
- SIZE:设备大小。
- TYPE:设备类型(disk、part、loop等)。
- MOUNTPOINT:挂载点。
- 输出说明:
netstat
netstat
:显示网络连接、路由表、接口统计信息等。netstat -tulnp
- 输出说明:
- Proto:协议类型(TCP、UDP)。
- Local Address:本地地址和端口。
- Foreign Address:远程地址和端口。
- State:连接状态(LISTEN、ESTABLISHED等)。
- PID/Program name:进程ID和程序名称。
- 输出说明:
sar
sar
:系统活动报告工具,用于收集、报告和保存系统活动信息。sar -u 2
- 输出说明:
- Linux:系统版本。
- CPU:CPU使用率统计信息,包括%user、%nice、%system、%iowait、%steal、%idle等。
- 输出说明:
mpstat
mpstat
:报告CPU统计信息,适用于多核系统。mpstat -P ALL 2
- 输出说明:
- CPU:CPU编号。
- %usr:用户空间CPU使用率。
- %nice:nice值的CPU使用率。
- %sys:系统空间CPU使用率。
- %iowait:等待IO的CPU使用率。
- %irq:硬中断CPU使用率。
- %soft:软中断CPU使用率。
- %steal:被偷走的CPU时间。
- %guest:虚拟机CPU使用率。
- %gnice:虚拟机nice值的CPU使用率。
- %idle:空闲CPU使用率。
- 输出说明:
dmidecode
dmidecode
:显示硬件信息,如CPU、内存、主板等。sudo dmidecode -t memory
- 输出说明:
- Memory Device:内存设备信息,包括大小、类型、频率等。
- 输出说明:
lshw
lshw
:显示硬件信息,比dmidecode
更详细。sudo lshw -short
- 输出说明:
- H/W path:硬件路径。
- Class:硬件类别。
- Description:硬件描述。
- Id:硬件ID。
- Bus info:总线信息。
- Supported by:驱动支持情况。
- Configuration:硬件配置信息。
- 输出说明:
glxinfo
glxinfo
:如果系统支持OpenGL,可以查看显卡和GPU信息。glxinfo | grep "OpenGL"
- 输出说明:
- OpenGL vendor string:显卡厂商。
- OpenGL renderer string:显卡型号。
- OpenGL version string:OpenGL版本。
- OpenGL shading language version string:GLSL版本。
- 输出说明:
lscpu
lscpu
:显示CPU架构信息。lscpu
- 输出说明:
- Architecture:CPU架构。
- CPU op-mode(s):CPU操作模式(32位、64位)。
- Byte Order:字节序(Little Endian、Big Endian)。
- CPU(s):CPU数量。
- On-line CPU(s) list:在线CPU列表。
- Thread(s) per core:每个核心的线程数。
- Core(s) per socket:每个插槽的核心数。
- Socket(s):CPU插槽数。
- Vendor ID:CPU厂商ID。
- CPU family:CPU系列。
- Model:CPU型号。
- Model name:CPU型号名称。
- Stepping:CPU步进。
- CPU MHz:CPU频率。
- BogoMIPS:CPU性能指标。
- Virtualization:虚拟化支持情况。
- L1d cache:L1数据缓存大小。
- L1i cache:L1指令缓存大小。
- L2 cache:L2缓存大小。
- L3 cache:L3缓存大小。
- NUMA node(s):NUMA节点数。
- Flags:CPU支持的指令集。
- 输出说明:
cat /proc/meminfo
cat /proc/meminfo
:显示内存详细信息。cat /proc/meminfo | grep MemTotal
- 输出说明:
- MemTotal:总内存大小。
- MemFree:空闲内存大小。
- Buffers:缓冲区内存大小。
- Cached:缓存内存大小。
- SwapTotal:交换分区总大小。
- SwapFree:交换分区空闲大小。
- 输出说明:
cat /proc/cpuinfo
cat /proc/cpuinfo
:显示CPU详细信息。cat /proc/cpuinfo | grep "model name" | uniq
- 输出说明:
- model name:CPU型号名称。
- cpu MHz:CPU频率。
- cache size:缓存大小。
- physical id:物理ID。
- core id:核心ID。
- siblings:兄弟核心数。
- flags:CPU支持的指令集。
- 输出说明:
cat /proc/diskstats
cat /proc/diskstats
:显示磁盘I/O统计信息。cat /proc/diskstats
- 输出说明:
- major:主设备号。
- minor:次设备号。
- device name:设备名称。
- reads completed successfully:成功读取次数。
- reads merged:合并读取次数。
- sectors read:读取的扇区数。
- time spent reading (ms):读取时间(毫秒)。
- writes completed successfully:成功写入次数。
- writes merged:合并写入次数。
- sectors written:写入的扇区数。
- time spent writing (ms):写入时间(毫秒)。
- IO requests currently in progress:正在进行的I/O请求数。
- time spent doing I/O (ms):进行I/O的时间(毫秒)。
- weighted time spent doing I/O (ms):加权I/O时间(毫秒)。
- 输出说明:
cat /proc/net/dev
cat /proc/net/dev
:显示网络接口统计信息。cat /proc/net/dev
- 输出说明:
- Interface:网络接口名称。
- Receive:接收数据包统计信息,包括字节数、数据包数、错误数、丢包数等。
- Transmit:发送数据包统计信息,包括字节数、数据包数、错误数、丢包数等。
- 输出说明:
cat /proc/loadavg
cat /proc/loadavg
:显示系统负载平均值。cat /proc/loadavg
- 输出说明:
- 1分钟平均负载:过去1分钟的系统平均负载。
- 5分钟平均负载:过去5分钟的系统平均负载。
- 15分钟平均负载:过去15分钟的系统平均负载。
- 正在运行的进程数:当前正在运行的进程数。
- 总进程数:系统总进程数。
- 最后一项:最近一次进程调度的进程ID。
- 输出说明:
uptime
uptime
:显示系统运行时间和负载信息。uptime
- 输出说明:
- 当前时间:系统当前时间。
- 系统运行时间:系统已运行的时间。
- 用户登录数:当前登录的用户数。
- 1分钟、5分钟、15分钟平均负载:系统负载平均值。
- 输出说明:
ps
和 pstree
-
ps
:显示当前进程的状态。ps aux
- 输出说明:
- USER:进程所有者。
- PID:进程ID。
- CPU%:CPU使用率。
- MEM%:内存使用率。
- VSZ:虚拟内存大小。
- RSS:物理内存大小。
- TTY:终端名称。
- STAT:进程状态(R=运行,S=睡眠,Z=僵尸,T=停止)。
- START:进程启动时间。
- TIME:进程运行时间。
- COMMAND:进程命令行。
- 输出说明:
-
pstree
:以树状结构显示进程关系。pstree
- 输出说明:
- 树状结构:父进程在上,子进程在下,清晰展示进程之间的父子关系。
- 输出说明:
nvidia-smi
nvidia-smi
:如果系统安装了NVIDIA显卡驱动,可以查看GPU信息和使用情况。nvidia-smi
- 输出说明:
- GPU:GPU编号和型号。
- Memory Usage:显存使用情况,包括总显存、已用显存、空闲显存。
- Processes:正在使用GPU的进程列表,包括PID、GPU利用率、显存使用量等。
- Driver Version:驱动版本。
- CUDA Version:CUDA版本。
- Temperature:GPU温度。
- Power Usage:GPU功耗。
- GPU Utilization:GPU利用率。
- Memory Utilization:显存利用率。
- 输出说明:
到此,以上就是小编对于linux机器性能如何查看的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10376.html