前言
Linux常用命令中,有些命令可以用于查看系统的状态,通过了解系统当前的状态,能够帮助我们更好地维护系统或定位问题。本文就简单介绍一下这些命令。
查看系统运行时间--uptime
有时候我们想知道系统上一次复位是在什么时候或者系统已经运行了多长时间,我们可以通过uptime命令获取这些信息:
从左往右显示的信息依次为:当前时间、已运行时间、用户登录数、1分钟、5分钟和15分钟内系统的平均负载。
查看系统已登录用户--who
通过who命令可以查看到哪些用户通过哪个ip登录到了这台主机。
查看系统版本相关信息--uname
例如:
从结果可以看到操作系统版本(ubuntu16.04),CPU类型(x86_64)等信息
查看当前环境变量--export
环境变量影响着程序的运行,因此有时候需要查看当前环境的环境变量:
export
查看目录和文件占用空间--du
du命令直接显示当前目录下每个目录及其文件占用空间。结合--max-depth参数可以指定显示的目录层级。
例如,如果只想显示当前目录下各个目录所占总空间,可以使用:
其中-h表示以易读的单位显示大小,即M,--max-depth=1表明目录层级。通过命令结果,我们可以看到当前目录下各个子目录占用空间大小,以及总空间大小。
查看各挂载点空间--df
例如:
从结果中,我们可以看到各个挂载点总空间以及可用空间。当磁盘文件占用空间较大时,可能导致系统运行缓慢,因此,可根据该结果进行相应的磁盘清理。
查看内存可用情况--free
free命令可用于显示系统中可用的物理内存,交换区内存以及内核使用的buffer:
从执行结果可以看到已用内存和空闲内存的情况。同样地,当内存不足时,可能导致程序运行异常或系统卡顿。
查看进程的内存使用情况--pmap
pmap命令用于查看进程内存相关信息:
我们可以根据进程各部分占用空间情况,来不断优化我们的程序。
查看虚拟内存统计信息--vmstat
vmstat的输出值能够帮助我们了解当前系统的性能。比如说,如果si(每秒从交换区写到内存的大小)和so(每秒写入交换区的内存大小)的值经常大于0,说明内存可能不够用,因此才需要用到交换空间。再比如说,us(用户进程执行时间百分比)的值比较高时,说明用户进程消耗的CPU资源较多。而wa(IO等待时间百分比)值较高时,说明IO等待情况严重。
查看ip地址--ip
有时候使用ifconfig命令并不一定能够看到所有的ip地址,因此可以使用:
ipaddr
查看网络连接状态--netstat
netstat命令可以查看网络连接状态,通常用于诊断网络相关问题。例如查看端口是否被占用,连接是否已经释放,服务是否在监听等等。
查看进程间关系--pstree
通过pstree命令可以看到进程间的父子关系,它以树形结构显示这些信息:
总结
实际上,前面所提到的很多相关命令信息都是从系统文件中获取的,例如/proc/meminfo保存了内存相关信息,/proc/net/dev保存网络流量相关信息。只是,它们都是静态数值,但是我们可以结合watch命令来动态地观察这些信息,例如:
上面的命令表示,每隔一秒执行一次cat /proc/meminfo或cat /proc/net/dev,因此我们可以看到内存信息或网卡流量信息在实时刷新。
本文仅介绍这些命令的经典使用,更多使用可通过man 命令查看。通过前面这些系统自带命令,我们可以比较方便地监控系统状态,从而帮助我们维护系统或定位问题。欢迎留言补充或更正。
-
Linux
+关注
关注
87文章
11236浏览量
209024
原文标题:Linux 常用命令:系统状态篇
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论