使用命令查看Linux系統(tǒng)版本、內核版本、CPU型號、硬盤空間、內存信息、網(wǎng)絡信息。
1、查看系統(tǒng)版本:lsb_release -a
2、查看內核版本:uname -a
3、查看cpu型號:cat /proc/cpuinfo
4、查看硬盤空間情況:df -h
5、查看內存信息:free -m
6、查看網(wǎng)絡信息:ifconfig
常用的查看linux環(huán)境信息的命令
設進程號為pid,端口號為port。
1.CPU占用率
命令:top -p pid,%CPU一項,單位為百分比。
2.物理內存使用量
命令:top -p pid,RES一項,單位為KB。
3.虛擬內存使用量
命令:top -p pid,VIRT一項,單位為KB。
4.進程隊列長度
命令:top,load average一項,三個值分別代表最近1分鐘、5分鐘、15分鐘進程隊列的平均長度。
5.打開的socket及其狀態(tài)
命令:netstat -an | grep port,第四列代表源IP,第五列代表目的IP,第六列代表狀態(tài)(如LISTEN、ESTABLISHED、TIME_WAIT等)。
替代命令:ss,需要安裝幾個內核模塊,在連接較多時性能比netstat好很多。
安裝內核模塊命令:
insmod /lib/modules/2.6.18-164.el5/kernel/net/ipv4/inet_diag.ko
insmod /lib/modules/2.6.18-164.el5/kernel/net/ipv4/tcp_diag.ko
insmod /lib/modules/2.6.18-1.2.0.0-xen/kernel/net/ipv4/inet_diag.ko
insmod /lib/modules/2.6.18-1.2.0.0-xen/kernel/net/ipv4/tcp_diag.ko
6. I/O使用率
命令:iostat -x,%util一項,單位為百分比。
7.磁盤讀寫速率
命令:iostate -k,kB_read/s表示磁盤每秒讀出多少KB數(shù)據(jù),kB_wrtn/s表示磁盤每秒寫入多少KB數(shù)據(jù)。
8.最近使用的系統(tǒng)調用及其耗費時間
命令:strace -f -tt -T -p pid,第一項代表系統(tǒng)調用名稱,最后一項代表該調用耗費的時間,單位為秒。
9.打開的文件描述符數(shù)量
命令:ls /proc/pid/fd | wc -l。
10.進程地址空間
命令:pmap -d pid。
11.環(huán)境變量
命令:cat /proc/pid/environ。
12.進程各模塊的內存使用情況
命令:cat /proc/pid/smaps。
13.進程狀態(tài)信息
命令:cat /proc/pid/status,State代表進程狀態(tài)(運行、睡眠、僵尸等),SleepAVG代表進程睡眠時間的比例,Tgid代表線程組號,PPid代表父進程號,F(xiàn)DSize代表文件描述符的最大個數(shù),VmSize代
表進程虛擬地址空間的大小,VLck代表進程鎖住的物理內存的大小,鎖住的物理內存無法交換到磁盤,VmRSS代表進程正在使用的物理內存的大小,VmData代表進程數(shù)據(jù)段的大小,VmStk代表進程在用戶態(tài)
的棧的大小,VmExe代表進程擁有的可執(zhí)行虛擬內存的大小,代碼段,不包括使用的庫,VmLib代表映射到進程地址空間的庫的大小,以上單位均為KB,SigQ代表待處理信號的數(shù)量,SigBlk代表被阻塞的信
號,SigIgn代表被忽略的信號,SigCgt代表被捕獲的信號。
14.進程的線程數(shù)量
命令:ls /proc/pid/task | wc -l。
15.啟動該進程的命令行
命令:cat /proc/pid/cmdline。
16.列出當前系統(tǒng)打開了哪些文件以及分別由哪個進程打開
命令:sudo lsof -n
17.使程序主動生成core dump文件
命令:gdb -p pid -batch -ex "generate-core-file"