カーネルパラメータ、トップコマンド、スクリプト、演習、initrdのプロフィール
- カーネル・パラメータおよびパラメータの常識リスト
(1)net.ipv4.ip_forward:数据包的路由转发开关,设置为1表示开启,0表示关闭 (2)net.ipv4.conf.default.rp_filter对从默认网卡进来的数据包进行反向路径校验,设置为1表示开启,0表示关闭 (3)net.ipv4.conf.default.accept_source_route是否接受含有源路由信息的ip包,设置为1表示开启,0表示关闭 (4)net.ipv4.icmp_echo_ignore_all:忽略所有外部来的ping请求,但不影响自己对外外的ping操作。设置为1表示关闭ICMP回应功能,设置0表示开启ICMP回应功能。 (5)kernel.hostname:主机名的内核参数 (6)net.ipv4.tcp_max_tw_buckets:设置TCP最大的timewait数量。默认是180000 (7)net.ipv4.ip_local_port_range :允许系统打开的端口范围,值为两个数字,中间以空格隔开,分别表示最小端口号和最大端口号。 (8)net.ipv4.tcp_tw_recycle:启用timewait快速回收。设置为1表示启用功能。
注:
すべてのパラメータ(1)において、それぞれの/ proc / SYS /#/ *のそれぞれに対応するディレクトリの下に:例如: net.ipv4.ip_forward = /proc/sys/net/ipv4/ip_forward
(2)パラメータの値、sysctlの特定のコマンド、または変更に使用することができるエコーリダイレクト方法例如:~]# echo "test.localhost " > /proc/sys/kernel/hostname ~]#sysctl -w net.ipv4.ip_forward=1
注意:あなたが設定ファイルを変更するための恒久的な必要性をしたい場合は、上記の変更は、現在のためにのみ有効です。
/etc/sysctl.conf 或者/etc/sysctl.d/*.conf 立即生效的方式:sysctl -p /PATH/TO/CONFIG.FILE
- で、処理の進行状況を示す/ procの上面図を経由して
topコマンドのパラメータと意義を:
パラメーター名 | / procのパスに対応 | 説明 |
---|---|---|
PID列 | 電話番号の下に/ procディレクトリに | ディレクトリ名として、各プロセスのプロセスID、PID番号 |
ユーザー | ラインのUID先頭に数字は/ proc / PID / statusファイルの最初の列 | これは、ユーザプロセスに属しています |
PR | 18のの/ proc / PID / STATファイル値で | タスクのスケジューリング優先順位 |
NI | 最初の19個の値では/ proc / PID / STATファイルで | NICE値は、作業ことを示しています |
VIRT | の/ proc / PID / STATM文書における第1の数値列(ページ) | 仮想メモリサイズ(KiBの)、タスクが使用する仮想メモリの合計量。これは、すべてのコード、データおよび共有ライブラリが含まれており、スワップアウトページとページがマッピングされていないが、使用されています |
RES | (ページ数)は/ proc / PID / STATM文書で列2値 | 非スイッチ物理メモリ常駐メモリサイズ(KiBの)を表し、タスクが使用されています |
SHR | 値が3のの/ proc / PID / STATM文書(ページ)で | 共有メモリサイズ(KiBの)を表し、他のプロセスのメモリを共有することができます |
S | この線は、プロセスの状態を示します | / proc / PID /ステータスファイルの状態 |
%CPU | CPU使用率、自己の合計CPU時間以来のCPU時間の画面のリフレッシュ割合。(計算によって得られました) | |
%MEM | 現在使用中の物理メモリ使用可能なメモリの使用率(RES)ミッションのシェア。(全メモリの比率を算出したRES) | |
TIME + | 両者の時間のための/ proc / PID / STATファイルに反映:ときの第1のタスク14とカーネルモード時におけるタスク15のユーザ状態動作を | ミッションは、使用する開始してからの総CPU時間、第二の百の表示精度 |
コマンド | ライン名の先頭には/ proc /#/ステータスファイル | プロセス名 |
3それぞれ一方、ループ検出10.0.0.1/24サブネットIPアドレス、生存のために:
(1):
#!/bin/bash
#
declare -i uphosts=0
declare -i downhosts=0
for i in {1..254};do
if ping -W 1 -c 1 10.0.0.${i} %> /dev/null; then
echo " 10.0.0.$i is ip."
let uphosts+=1
else
echo "10.0.0.$i is down."
let downhosts+=1
fi
done
echo "Up hosts: $uphosts, Down hosts: $downhosts."
(2)しばらく
#!/bin/bash
declare -i uphosts=0
declare -i downhosts=0
declare -i i=1
hostping(){
if ping -W 1 -c 1 $1 &> /dev/null;then
echo "$1 is up."
return 0
else
echo "$1 is down."
return 1
fi
}
while [ $i -le 254 ];do
hostping 10.0.0.$i
[ $? -eq 0 ] && let uphosts++ || let downhosts++
let i++
done
echo "Up hosts: $uphosts ,Down hosts:$downhosts"
4. DESCRIPTION initrdの効果:
initrd 是 boot loader initialized RAM disk的缩写,表示由 boot loader 初始化的内存盘.在 linux内核启动前, boot loader 会将磁盘等存储介质中的 initrd 文件先加载到内存.内核启动时会先访问该内存中的 initrd 文件系统然后才访问真正的根文件系统。启动过程被分为两个过程,第一过程是执行内存中的 initrd 文件系统中的初始化文件(在Linux2.4 内核是/linuxrc 文件,是由文件系统镜像生成的;在Linux2.6内核是/init文件,是使用 cpio 工具生成),负责加载内核访问根文件系统存储介质的驱动模块, 以及加载根文件系统。第二过程是执行真正的根文件系统中的 /sbin/init 进程
initrd主要作用:
1.内核启动时加载 initrd img, 挂载根 /
2.以/linuxrc 的指令执行, 一般有扫描系统硬件,从 当前文件系统中找到驱动安装之.
3.挂载系统中真正的根 /