查看内存使用情况

  • /proc/meminfo

这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过 /proc/\/statm 和 /proc/\/status 来查看。

  • free -h

是对 /proc/meminfo 收集到的信息的一个概述。

  • ps

ps命令可以实时的显示各个进程的内存使用情况,可以用--rss进行排序输出。

  • %MEM (percent of physical memory used),

  • VSZ (total amount of virtual memory used)

  • RSS (total amount of physical memory used)。

ps aux --sort -rss
  • top

与ps作用相似,优点是可以动态更新。top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。

  • top命令的界面中,按M键。这将按照内存使用量对进程进行排序。(P:按CPU排序;N:按照PID排序)
  • RES列代表了每个进程实际使用的物理内存大小,%MEM列则显示了每个进程使用的物理内存占总内存的百分比。

  • vmstat -s -S M

vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。

  • atop

  • htop


查看CPU使用情况

  • top

image-20231204193316963

  • cpu相关参数解释
    • us:用户空间占CPU的百分比(像shell程序、各种语言的编译器、各种应用、web服务器和各种桌面应用都算是运行在用户地址空间的进程,这些程序如果不是处于idle状态,那么绝大多数的CPU时间都是运行在用户态)。
    • sy:内核空间占CPU的百分比(所有进程要使用的系统资源都是由Linux内核处理的,对于操作系统的设计来说,消耗在内核态的时间应该是越少越好,在实践中有一类典型的情况会使sy变大,那就是大量的IO操作,因此在调查IO相关的问题时需要着重关注它)。
    • ni:用户进程空间改变过优先级(ni是nice的缩写,可以通过nice值调整进程用户态的优先级,这里显示的ni表示调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)。
    • id:空闲CPU占用率。
    • wa:等待输入输出的CPU时间百分比(和CPU的处理速度相比,磁盘IO操作是非常慢的,有很多这样的操作,比如,CPU在启动一个磁盘读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU只能处于空闲状态。Linux系统在计算系统平均负载时会把CPU等待IO操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过wa来判断系统的性能瓶颈是不是过多的IO操作造成的)。
    • hi:硬中断占用百分比【硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息,当CPU收到中断消息后需要进行适当的处理(消耗CPU时间)】。
    • si:软中断占用百分比(软中断是由程序发出的中断,最终也会执行相应的处理程序,消耗CPU时间)
  • 某个进程的%CPU超过100%,说明系统有多核,按1可以看到每个核的cpu占用情况。

Disk使用情况

  • df -h
  • df -h provides information on the overall disk space usage, showing statistics for each mounted file system.

  • du -h

  • du -h provides information about the sizes of directories and files in a specified directory or a list of directories.
  • du -sh (summary,而不是列出全部)

  • lsblk -f

  • lsblk -f command is used to list information about block devices, including file system information.

  • fdisk -l

  • fdisk -l command is used to list information about the disk partitions on a system.


OS 信息查看

  • 查看OS版本
cat /etc/*release
  • 查看kernel信息
uname -a
  • 查看安装的版本
lsmod
  • 查看CPU信息
cat /proc/cpuinfo
  • 查看存储信息
cat /proc/meminfo
  • 查看kernel参数
sysctl -a

查看硬件信息

  • lshw
  • lspci