/proc
/proc:内核状态和统计信息的输出接口;同时还提供一个配置接口:/proc/sys
/proc下的参数分类:只读、可写
只读:信息输出;例如/proc/#/* //#表示数字,
可写:可接受用户指定的一个“新值”来实现对内核某功能或特性的配置;写权限仅root拥有;可写的参数位于:/proc/sys目录下
示例:
[root@localhost ~]# ls /proc
1 16 271 2913 3020 3186 394 544 665 745 driver meminfo sysvipc
10 17 2713 292 3031 3253 395 545 666 749 execdomains misc timer_list
1003 18 2714 2930 3038 3257 396 546 676 760 fb modules timer_stats
1004 19 272 2944 3047 3258 397 547 677 8 filesystems mounts tty
1008 2 274 2951 3053 3274 398 563 678 9 fs mpt uptime
1019 20 2782 2955 3058 3315 399 565 679 94 interrupts mtrr version
1026 21 2787 2963 3062 3342 4 569 680 999 iomem net vmallocinfo
1027 2291 28 297 3067 3416 40 571 683 acpi ioports pagetypeinfo vmstat
1028 2414 282 2979 3071 3420 400 573 685 asound irq partitions zoneinfo
12 2420 283 2984 3072 3468 41 578 686 buddyinfo kallsyms sched_debug
13 2495 284 2988 3074 365 42 580 690 bus kcore schedstat
14 2503 286 2991 3077 366 43 583 692 cgroups keys scsi
1460 2528 2879 3 3078 376 481 6 696 cmdline key-users self
1473 26 288 30 3084 377 5 62 7 consoles kmsg slabinfo
1474 2677 29 3003 3091 38 504 621 700 cpuinfo kpagecount softirqs
1486 2689 290 3004 3092 39 506 640 701 crypto kpageflags stat
15 27 2903 3007 3121 391 518 650 703 devices loadavg swaps
1550 2703 2908 3018 3137 392 531 655 709 diskstats locks sys
1553 2706 291 302 3180 393 542 662 734 dma mdstat sysrq-trigger
[root@localhost ~]#
[root@localhost ~]# ls /proc/sys
abi crypto debug dev fs kernel net sunrpc vm
[root@localhost ~]#
/proc/sys/net/ipv4/ip_forward相当于:/proc/sys/net.ipv4.ip_forward
修改/proc参数值得方法:sysctl命令、echo命令、cat命令
sysctl命令:专用于查看或设定/proc/sys目录下参数的值
sysctl命令格式:
sysctl [options] [variable[=value]] [...]
sysctl -p [file or regexp] [...]
查看内核参数设置
[root@localhost ~]# sysctl -a //查看所有内核参数设置
[root@localhost ~]# sysctl -a |grep ip_forward
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
[root@localhost ~]#
[root@localhost ~]# sysctl net.ipv4.ip_forward //查看特定参数设置
net.ipv4.ip_forward = 1
[root@localhost ~]#
或 [root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward //另一种方法查看内核信息参数设置
1
[root@localhost ~]#
修改内核参数设置:
方法一: sysctl -w variable=value
方法二:echo "VALUE" > /proc/sys/PATH/TO/SOME_KERNEL_FILE
示例:
#echo "host" > /proc/sys/kernel/hostname
#uname -a
注意:通过sysctl和cat命令设定的内核参数,重启后会丢失配置。
方法三:通过配置文件修改内核参数
配置文件位置:/etc/sysctl.conf, /etc/sysctl.d/*.conf
[root@localhost ~]# ls /etc/sysctl.conf /etc/sysctl.d/*.conf -ld
-rw-r--r--. 1 root root 449 Nov 6 2016 /etc/sysctl.conf
lrwxrwxrwx. 1 root root 14 Aug 29 20:05 /etc/sysctl.d/99-sysctl.conf -> ../sysctl.conf
[root@localhost ~]#
示例:
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1 //核心转发,即从一个网络转到另一个网络
重读配置文件:sysctl -p [/PATH/TO/CONFIG_FILE]
内核参数:
net.ipv4.ip_forward:核心转发
vm.drop_caches:回收内存
kernel.hostname:主机名
net.ipv4.icmp_echo_ignore_all:忽略所有ping自己操作