free命令,查看內存。
#free -k 以kb顯示
#free -m 以Mb顯示
#free -g 以Gb顯示
#free -h 以合適大小顯示
free 命令輸出的信息:
真正剩餘的內存是free列的第二行
buffers和cached列的數字分別表示buffers和cached還有多少剩餘
free列的一行數字+buffers列數字
- buffers/cache 反應的是被程序實實在在吃掉的內存
+ buffers/cache 反應的是可以挪用的內存總數
buffers和cached有什麼區別
buffers是指高速緩衝區的大小,是一個空間大小的概念,運行程序常用的數據,在第一次運行時系統會把它們暫時緩存在一個高速的存儲區域,以後再用時就直接從這個區域讀取數據供程序使用,存取這些數據的介質,因其讀寫速度比硬盤和內存要快得多,所以,buffers的大小對電腦運行速度的影響是很大的,但這些數據重啓電腦或關機後就會自動消失。而cached是指緩存的數據,是真正意義上的實在東西,例如你常用的程序,由於一些數據是這些程序運行經常要使用到的,系統就會把它們形成文件,緩存到一個特定的位置,下次你再運行該程序時,就會自動到緩存的位置讀取數據供程序運行使用,存儲這些數據的區域是在電腦的硬盤上,理論上講讀寫速度是不變的,只是節省了尋找這些數據的時間而也,這樣也可間接地提高了電腦的運行效率。
http://baike.sogou.com/v49107. ... %2598
緩存百科
ps命令,顯示系統進程。
#ps -elf = #ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1090 0.0 0.0 12896 828 ? S<sl 05:32 0:00 auditd
root 1112 0.0 0.1 37184 1560 ? Sl 05:32 0:00
dbus 1128 0.0 0.0 3032 896 ? Ss 05:32 0:00 dbus-daemon --
root 1283 0.0 0.0 2012 492 tty4 Ss+ 05:32 0:00 /sbin/mingetty
root 1284 0.0 0.0 2620 864 ? S< 05:32 0:00 /sbin/udevd -d
root 6769 1.0 0.1 6552 1076 pts/0 R+ 07:01 0:00 ps -aux
PID:進程的id,在linux中內核管理進程就靠pid來識別和管理某一個進程。
比如:#kill -9 1090(進程pid)
STAT:表示進程的狀態,通常有一下幾種:
D,不能中斷的進程
R,正則運行的進程
S,已經中斷的進程,通常情況下,大部分都是這個狀態。
T,已經終止或暫停的進程,
X,已經死掉的進程,(好像從不出現)
Z,殭屍進程,關不掉的垃圾進程,佔系統很小的資源
<,高優先級進程
N,低優先級進程
L,在內存中被鎖了內存分頁
s,主線程
l,多線程進程
+,代表在前臺運行的進程
#ps aux |grep -c mingetty ,用來查看某個進程的數量。
---------------------------------------------------------------
netstat 查看端口。
#netstat -lnp 查看當前系統所有監聽端口的命令(顯示數字端口)
#netstat -an 查看系統所有網絡連接狀況的命令是(顯示數字端口)
TIME_WAIT 傳輸完成 鏈接保持着
ESTABLTSHED 已經建立鏈接正在通訊
FIN_WAIT2 狀態詳情,可參考【TCP/IP 三次握手】
http://blog.csdn.net/whuslei/a ... 67471
netstat -an |grep 112.112.69.86:80 查看80端口 併發狀態
netstat -an |grep 112.112.69.86:80 |grep -ic estab 統計鏈接(ESTABLTSHED)正在通訊的鏈接總數
(前端 靜態網頁 2到3萬 後端 有php mysql等 2000到3000 左右)
----------------------------------------------------------------
抓包工具tcpdump和tshark
查看某個網卡上都有哪些數據包。
#tcpdump -nn -i eth0
07:20:55.220948 IP 192.168.1.108.22 > 192.168.1.117.50000: Flags [P.], seq 396800:397072, ack 5761, win 359, length 272
07:20:55.221032 IP 192.168.1.108.22 > 192.168.1.117.50000: Flags [P.], seq 397072:397248, ack 5761, win 359, length 176
第三第四列,爲,哪一個IP+port在連接哪一個IP+port。
-nn 讓第三列和第四列顯示成IP+端口的形式,如果不加則顯示主機名+服務器名稱
-i 後面跟設備名,只抓取該設備信息
#tcpdump -nn -i eth0 host 192.168.1.1.1 and port 80 -c 100 -w 1.cap
用host指定IP,port指定端口,-c指定包數量,-w 寫入指定文件裏。這樣1.cap文件裏是包的內容,而如果不加-w 直接在屏幕上顯示的不是數據包而是數據流向。 這個1.cap可以下載到windows上,然後用wireeshark查看。
-s0 抓一個完整的包。
wireshark工具
#tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "htttp.request.uri"