您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)怎么查看Linux系統(tǒng)的狀態(tài)信息,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
Linux常用命令中,有些命令可以用于查看系統(tǒng)的狀態(tài),通過了解系統(tǒng)當(dāng)前的狀態(tài),能夠幫助我們更好地維護(hù)系統(tǒng)或定位問題。下面就簡單介紹一下這些命令。
有時候我們想知道系統(tǒng)上一次復(fù)位是在什么時候或者系統(tǒng)已經(jīng)運(yùn)行了多長時間,我們可以通過uptime命令獲取這些信息:
uptime20:47:06 up 50 min, 1 user, load average: 0.75, 0.84, 0.93
從左往右顯示的信息依次為:當(dāng)前時間、已運(yùn)行時間、用戶登錄數(shù)、1分鐘、5分鐘和15分鐘內(nèi)系統(tǒng)的平均負(fù)載。
who -ahyb tty7 2018-09-30 19:57 (:0)
通過who命令可以查看到哪些用戶通過哪個ip登錄到了這臺主機(jī)。
例如:
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
從結(jié)果可以看到操作系統(tǒng)版本(ubuntu16.04),CPU類型(x86_64)等信息。
環(huán)境變量影響著程序的運(yùn)行,因此有時候需要查看當(dāng)前環(huán)境的環(huán)境變量:
export
du命令直接顯示當(dāng)前目錄下每個目錄及其文件占用空間。結(jié)合–max-depth參數(shù)可以指定顯示的目錄層級。
例如,如果只想顯示當(dāng)前目錄下各個目錄所占總空間,可以使用:
du -h --max-depth=1 19M ./python9.0M ./git321M ./hexo17M ./lua28K ./vim1.4M ./shell81M ./redis316M ./books48M ./c810M .du -sh #僅統(tǒng)計(jì)當(dāng)前目錄總大小810M
其中-h表示以易讀的單位顯示大小,即M,–max-depth=1表明目錄層級。通過命令結(jié)果,我們可以看到當(dāng)前目錄下各個子目錄占用空間大小,以及總空間大小。
例如:
df -h文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn)udev 3.9G 0 3.9G 0% /devtmpfs 786M 9.5M 776M 2% /run/dev/sda10 24G 9.8G 13G 45% /tmpfs 3.9G 43M 3.8G 2% /dev/shmtmpfs 5.0M 4.0K 5.0M 1% /run/locktmpfs 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% /tmptmpfs 786M 60K 786M 1% /run/user/1000
從結(jié)果中,我們可以看到各個掛載點(diǎn)總空間以及可用空間。當(dāng)磁盤文件占用空間較大時,可能導(dǎo)致系統(tǒng)運(yùn)行緩慢,因此,可根據(jù)該結(jié)果進(jìn)行相應(yīng)的磁盤清理。
free命令可用于顯示系統(tǒng)中可用的物理內(nèi)存,交換區(qū)內(nèi)存以及內(nèi)核使用的buffer:
free -h total used free shared buff/cache availableMem: 7.7G 2.3G 2.6G 268M 2.8G 4.7GSwap: 7.6G 0B 7.6G
從執(zhí)行結(jié)果可以看到已用內(nèi)存和空閑內(nèi)存的情況。同樣地,當(dāng)內(nèi)存不足時,可能導(dǎo)致程序運(yùn)行異?;蛳到y(tǒng)卡頓。
pmap命令用于查看進(jìn)程內(nèi)存相關(guān)信息:
pmap pid #pid為進(jìn)程id,可通過ps命令獲取6030: ./main0000000000400000 4K r-x-- main0000000000600000 4K r---- main0000000000601000 4K rw--- main00000000017d2000 132K rw--- [ anon ]00007fc3843e8000 1792K r-x-- libc-2.23.so00007fc3845a8000 2048K ----- libc-2.23.so00007fc3847a8000 16K r---- libc-2.23.so00007fc3847ac000 8K rw--- libc-2.23.so00007fc3847ae000 16K rw--- [ anon ]00007fc3847b2000 152K r-x-- ld-2.23.so00007fc3849b9000 12K rw--- [ anon ]00007fc3849d7000 4K r---- ld-2.23.so00007fc3849d8000 4K rw--- ld-2.23.so00007fc3849d9000 4K rw--- [ anon ]00007ffcf2018000 132K rw--- [ stack ]00007ffcf2175000 12K r---- [ anon ]00007ffcf2178000 8K r-x-- [ anon ]ffffffffff600000 4K r-x-- [ anon ] total 4356K
我們可以根據(jù)進(jìn)程各部分占用空間情況,來不斷優(yōu)化我們的程序。
vmstatprocs -----------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的輸出值能夠幫助我們了解當(dāng)前系統(tǒng)的性能。比如說,如果si(每秒從交換區(qū)寫到內(nèi)存的大?。┖蛃o(每秒寫入交換區(qū)的內(nèi)存大小)的值經(jīng)常大于0,說明內(nèi)存可能不夠用,因此才需要用到交換空間。再比如說,us(用戶進(jìn)程執(zhí)行時間百分比)的值比較高時,說明用戶進(jìn)程消耗的CPU資源較多。而wa(IO等待時間百分比)值較高時,說明IO等待情況嚴(yán)重。
curl ifconfig.me
ifconfig可以用來查看ip地址,網(wǎng)口等信息:
ifconfig -a
有時候使用ifconfig命令并不一定能夠看到所有的ip地址,因此可以使用:
ip addr
netstat命令可以查看網(wǎng)絡(luò)連接狀態(tài),通常用于診斷網(wǎng)絡(luò)相關(guān)問題。例如查看端口是否被占用,連接是否已經(jīng)釋放,服務(wù)是否在監(jiān)聽等等。
top命令可用于查看系統(tǒng)的CPU利用率,內(nèi)存占用等情況:
toptop - 22:06:11 up 12 min, 1 user, load average: 0.87, 1.12, 1.02Tasks: 235 total, 1 running, 180 sleeping, 0 stopped, 0 zombie%Cpu(s): 6.9 us, 2.1 sy, 0.0 ni, 90.8 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 stKiB Mem : 8039576 total, 3106072 free, 2486744 used, 2446760 buff/cacheKiB Swap: 8002556 total, 8002556 free, 0 used. 4804820 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3389 hyb 20 0 1243184 108880 68152 S 6.0 1.4 0:28.70 compiz 6414 hyb 20 0 1299428 209808 84204 S 6.0 2.6 0:07.48 chrome 4879 hyb 20 0 1670760 270444 127124 S 5.6 3.4 0:32.89 chrome
通過pstree命令可以看到進(jìn)程間的父子關(guān)系,它以樹形結(jié)構(gòu)顯示這些信息:
pstreesystemd─┬─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}(僅顯示部分內(nèi)容)
實(shí)際上,前面所提到的很多相關(guān)命令信息都是從系統(tǒng)文件中獲取的,例如/proc/meminfo保存了內(nèi)存相關(guān)信息,/proc/net/dev保存網(wǎng)絡(luò)流量相關(guān)信息。只是,它們都是靜態(tài)數(shù)值,但是我們可以結(jié)合watch命令來動態(tài)地觀察這些信息,例如:
watch -n 1 cat /proc/meminfo watch -n 1 cat /proc/net/dev
上面的命令表示,每隔一秒執(zhí)行一次cat /proc/meminfo或cat /proc/net/dev,因此我們可以看到內(nèi)存信息或網(wǎng)卡流量信息在實(shí)時刷新。
Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
關(guān)于怎么查看Linux系統(tǒng)的狀態(tài)信息就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。