日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux常用命令--系统状态篇

發布時間:2024/1/1 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux常用命令--系统状态篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

前言

Linux常用命令中,有些命令可以用于查看系統的狀態,通過了解系統當前的狀態,能夠幫助我們更好地維護系統或定位問題。本文就簡單介紹一下這些命令。

?

查看系統運行時間--uptime

有時候我們想知道系統上一次復位是在什么時候或者系統已經運行了多長時間,我們可以通過uptime命令獲取這些信息:

uptime 20:47:06?up?50?min,??1?user,??load?average:?0.75,?0.84,?0.93

從左往右顯示的信息依次為:當前時間、已運行時間、用戶登錄數、1分鐘、5分鐘和15分鐘內系統的平均負載。

查看系統已登錄用戶--who

who?-a hyb??????tty7?????????2018-09-30?19:57?(:0)

通過who命令可以查看到哪些用戶通過哪個ip登錄到了這臺主機。

查看系統版本相關信息--uname

例如:

uname?-a Linux?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?-htotal????????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?st1??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,因此我們可以看到內存信息或網卡流量信息在實時刷新。

本文僅介紹這些命令的經典使用,更多使用可通過man 命令查看。通過前面這些系統自帶命令,我們可以比較方便地監控系統狀態,從而幫助我們維護系統或定位問題。歡迎留言補充或更正。

?

微信公眾號:編程珠璣

總結

以上是生活随笔為你收集整理的linux常用命令--系统状态篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。