温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux中有关系统状态的命令有哪些

发布时间:2021-11-15 14:56:53 来源:亿速云 阅读:150 作者:小新 栏目:系统运维

小编给大家分享一下Linux中有关系统状态的命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

查看系统运行时间--uptime

有时候我们想知道系统上一次复位是在什么时候或者系统已经运行了多长时间,我们可以通过uptime命令获取这些信息:

uptime20:47:06 up 50 min, 1 user, load average: 0.75, 0.84, 0.93

从左往右显示的信息依次为:当前时间、已运行时间、用户登录数、1分钟、5分钟和15分钟内系统的平均负载。

查看系统已登录用户--who

who -ahyb tty7 2018-09-30 19:57 (:0)

通过who命令可以查看到哪些用户通过哪个ip登录到了这台主机。

Linux中有关系统状态的命令有哪些

查看系统版本相关信息--uname

例如:

uname -aLinux ubuntu16.04 4.15.0-34-generic #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

从结果可以看到操作系统版本(ubuntu16.04),CPU类型(x86_64)等信息

查看当前环境变量--export

环境变量影响着程序的运行,因此有时候需要查看当前环境的环境变量:

export

查看目录和文件占用空间--du

du命令直接显示当前目录下每个目录及其文件占用空间。结合--max-depth参数可以指定显示的目录层级。

例如,如果只想显示当前目录下各个目录所占总空间,可以使用:

du -h --max-depth=1  19M        ./python 9.0M        ./git 321M        ./hexo 17M        ./lua 28K        ./vim 1.4M        ./shell 81M        ./redis 316M        ./books 48M        ./c 810M        . du -sh     #仅统计当前目录总大小 810M

其中-h表示以易读的单位显示大小,即M,--max-depth=1表明目录层级。通过命令结果,我们可以看到当前目录下各个子目录占用空间大小,以及总空间大小。

查看各挂载点空间--df

例如:

df -h 文件系统        容量  已用  可用 已用% 挂载点 udev            3.9G     0  3.9G    0% /dev tmpfs           786M  9.5M  776M    2% /run /dev/sda10       24G  9.8G   13G   45% / tmpfs           3.9G   43M  3.8G    2% /dev/shm tmpfs           5.0M  4.0K  5.0M    1% /run/lock tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup /dev/sda11      454M  274M  153M   65% /boot /dev/sda15       55G  5.2G   47G   10% /home /dev/sda1       256M   31M  226M   12% /boot/efi /dev/sda14      4.6G  9.9M  4.4G    1% /tmp tmpfs           786M   60K  786M    1% /run/user/1000

从结果中,我们可以看到各个挂载点总空间以及可用空间。当磁盘文件占用空间较大时,可能导致系统运行缓慢,因此,可根据该结果进行相应的磁盘清理。

查看内存可用情况--free

free命令可用于显示系统中可用的物理内存,交换区内存以及内核使用的buffer:

free -h               total        used        free      shared  buff/cache   available Mem:           7.7G        2.3G        2.6G        268M        2.8G        4.7G Swap:          7.6G          0B        7.6G

从执行结果可以看到已用内存和空闲内存的情况。同样地,当内存不足时,可能导致程序运行异常或系统卡顿。

查看进程的内存使用情况--pmap

pmap命令用于查看进程内存相关信息:

pmap pid    #pid为进程id,可通过ps命令获取 6030:   ./main 0000000000400000      4K r-x-- main 0000000000600000      4K r---- main 0000000000601000      4K rw--- main 00000000017d2000    132K rw---   [ anon ] 00007fc3843e8000   1792K r-x-- libc-2.23.so 00007fc3845a8000   2048K ----- libc-2.23.so 00007fc3847a8000     16K r---- libc-2.23.so 00007fc3847ac000      8K rw--- libc-2.23.so 00007fc3847ae000     16K rw---   [ anon ] 00007fc3847b2000    152K r-x-- ld-2.23.so 00007fc3849b9000     12K rw---   [ anon ] 00007fc3849d7000      4K r---- ld-2.23.so 00007fc3849d8000      4K rw--- ld-2.23.so 00007fc3849d9000      4K rw---   [ anon ] 00007ffcf2018000    132K rw---   [ stack ] 00007ffcf2175000     12K r----   [ anon ] 00007ffcf2178000      8K r-x--   [ anon ] ffffffffff600000      4K r-x--   [ anon ]  total             4356K

我们可以根据进程各部分占用空间情况,来不断优化我们的程序。

查看虚拟内存统计信息--vmstat

vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st  1  0      0 2214960 407828 2572148    0    0   126    57  377 1006  8  2 88  2  0

vmstat的输出值能够帮助我们了解当前系统的性能。比如说,如果si(每秒从交换区写到内存的大小)和so(每秒写入交换区的内存大小)的值经常大于0,说明内存可能不够用,因此才需要用到交换空间。再比如说,us(用户进程执行时间百分比)的值比较高时,说明用户进程消耗的CPU资源较多。而wa(IO等待时间百分比)值较高时,说明IO等待情况严重。

查看ip地址--ip

有时候使用ifconfig命令并不一定能够看到所有的ip地址,因此可以使用:

ip addr

查看网络连接状态--netstat

netstat命令可以查看网络连接状态,通常用于诊断网络相关问题。例如查看端口是否被占用,连接是否已经释放,服务是否在监听等等。

查看进程间关系--pstree

通过pstree命令可以看到进程间的父子关系,它以树形结构显示这些信息:

pstree systemd─┬─ModemManager─┬─{gdbus}         │              └─{gmain}         ├─NetworkManager─┬─dhclient         │                ├─dnsmasq         │                ├─{gdbus}         │                └─{gmain}         ├─accounts-daemon─┬─{gdbus}         │                 └─{gmain}         ├─acpid         ├─atd         ├─avahi-daemon───avahi-daemon         ├─bluetoothd         ├─colord─┬─{gdbus}         │        └─{gmain}         ├─cron         ├─cups-browsed─┬─{gdbus}         │              └─{gmain}         ├─cupsd───3*[dbus]         ├─dbus-daemon         ├─gnome-keyring-d─┬─{gdbus}         │                 ├─{gmain}         │                 └─{timer} (仅显示部分内容)

总结

实际上,前面所提到的很多相关命令信息都是从系统文件中获取的,例如/proc/meminfo保存了内存相关信息,/proc/net/dev保存网络流量相关信息。只是,它们都是静态数值,但是我们可以结合watch命令来动态地观察这些信息,例如:

watch -n 1 cat /proc/meminfo  watch -n 1 cat /proc/net/dev

上面的命令表示,每隔一秒执行一次cat /proc/meminfo或cat  /proc/net/dev,因此我们可以看到内存信息或网卡流量信息在实时刷新。

以上是“Linux中有关系统状态的命令有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI