一、 列舉常見的內核參數以及參數的意義linux
查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每一個物理CPU中core的個數(即核數) cat /proc/cpuinfo| grep "cpu cores"| uniq 查看邏輯CPU的個數 cat /proc/cpuinfo| grep "processor"| wc -l 查看系統版本 ~]# cat /etc/redhat-release 查看內核版本 ~]# uname –r 查看全部信息 ~]# uname –a 查看IP ~]# /sbin/ifconfig eth0 | grep 'inet addr' 查看DNS ~]# cat /etc/resolv.conf
二、 如何經過/proc查看top中展現的進程狀態shell
pid/stat包含了進程全部CPU活躍的信息,該文件中的全部值都是從系統啓動開始累計到當前時刻。 /proc/1 # cat stat 1 (linuxrc) S 0 0 0 0 -1 8388864 50 633 20 4 2 357 72 342 16 0 1 0 22 2252800 70 4294967295 32768 1879936 3199270704 3199269552 1113432 0 0 0 674311 3221479524 0 0 0 0 0 0 每一個參數意思爲: 參數 解釋 pid=1 進程(包括輕量級進程,即線程)號 comm= linuxrc 應用程序或命令的名字 task_state=S 任務的狀態,R:runnign, S:sleeping (TASK_INTERRUPTIBLE), D:disk sleep (TASK_UNINTERRUPTIBLE), T: stopped, T:tracing stop,Z:zombie, X:dead ppid=0 父進程ID pgid=0 線程組號 sid=0 c該任務所在的會話組ID tty_nr=0(pts/3) 該任務的tty終端的設備號,INT(0/256)=主設備號,(0-主設備號)=次設備號 tty_pgrp=-1 終端的進程組號,當前運行在該任務所在終端的前臺任務(包括shell 應用程序)的PID。 task->flags=8388864進程標誌位,查看該任務的特性 min_flt=50該任務不須要從硬盤拷數據而發生的缺頁(次缺頁)的次數 cmin_flt=633 累計的該任務的全部的waited-for進程曾經發生的次缺頁的次數目 maj_flt=20該任務須要從硬盤拷數據而發生的缺頁(主缺頁)的次數 cmaj_flt=4 累計的該任務的全部的waited-for進程曾經發生的主缺頁的次數目 utime=2 該任務在用戶態運行的時間,單位爲jiffies stime=357 該任務在覈心態運行的時間,單位爲jiffies cutime=72 累計的該任務的全部的waited-for進程曾經在用戶態運行的時間,單位爲jiffies cstime=342 累計的該任務的全部的waited-for進程曾經在覈心態運行的時間,單位爲jiffies priority=16 任務的動態優先級 nice=0 任務的靜態優先級 num_threads=1 該任務所在的線程組裏線程的個數 it_real_value=0 因爲計時間隔致使的下一個 SIGALRM 發送進程的時延,以 jiffy 爲單位. start_time=22 該任務啓動的時間,單位爲jiffies vsize=2252800(bytes) 該任務的虛擬地址空間大小 rss=70(page) 該任務當前駐留物理地址空間的大小 Number of pages the process has in real memory,minu 3 for administrative purpose. 這些頁可能用於代碼,數據和棧。 rlim=4294967295=0xFFFFFFFF(bytes) 該任務能駐留物理地址空間的最大值 start_code=32768=0x8000 該任務在虛擬地址空間的代碼段的起始地址(由鏈接器決定) end_code=1879936該任務在虛擬地址空間的代碼段的結束地址 start_stack=3199270704=0Xbeb0ff30該任務在虛擬地址空間的棧的開始地址 kstkesp=3199269552 sp(32 位堆棧指針) 的當前值, 與在進程的內核堆棧頁獲得的一致. kstkeip=1113432 =0X10FD58 指向將要執行的指令的指針, PC(32 位指令指針)的當前值. pendingsig=0 待處理信號的位圖,記錄發送給進程的普通訊號 block_sig=0 阻塞信號的位圖 sigign=0 忽略的信號的位圖 sigcatch=674311被俘獲的信號的位圖 wchan=3221479524 若是該進程是睡眠狀態,該值給出調度的調用點 nswap=0 被swapped的頁數 cnswap=0 全部子進程被swapped的頁數的和 exit_signal=0 該進程結束時,向父進程所發送的信號 task_cpu(task)=0 運行在哪一個CPU上 task_rt_priority=0 實時進程的相對優先級別 task_policy=0 進程的調度策略,0=非實時進程,1=FIFO實時進程;2=RR實時進程
三、分別用while、for循環檢測http://www.javashuo.com/tag/10.0.0.1/24網段存活的IP地址bash
#!/bin/bash for ip in seq 1 255 do { ping -c 1 10.0.0.$ip > /dev/null 2>&1 if [ $? -eq 0 ]; then echo 10.0.0.$ip UP else echo 10.0.0.$ip DOWN fi }& done ----------------------------- #!/bin/bash for ip in seq 1 255 do { ping -c 1 10.0.0.$ip > /dev/null 2>&1 if [ $? -eq 0 ]; then echo 10.0.0.$ip UP else echo 10.0.0.$ip DOWN fi }& done declare -i ip=1 while [ $ip -le 255 ]; do ping -c 1 10.0.0.$ip > /dev/null 2>&1 if [ $? -eq 0 ]; then echo 10.0.0.$ip UP else echo 10.0.0.$ip DOWN fi let ip++ done
四、 說明initrd的做用app
initrd 是一個 ram disk 的 image. 通常是壓縮過的.它存在的主要目的是在內核啓動時加載它,安裝其中的驅動.
總的來講分這幾步
a.內核啓動時加載 initrd img, mount 爲 /
b.依 /linuxrc 的指令執行, 通常有掃描系統硬件,從 當前文件系統中找到驅動安裝之.
c.掛載系統中真正的 /ide