写点啥 内核调优吧

发布时间:2024年01月20日

?一、命令xargs? --------------- 参数替换

由于很多命令不支持管道|来传递参数,xargs用于产生某个命令的参数,xargs 可以读入 stdin 的数

据,并且以空格符或回车符将 stdin 的数据分隔成为参数,另外许多命令不能接受过多参数,命令执行可能会失败,xargs 可以解决

注意:文件名或者是其他意义的名词内含有空格符的情况

单独使用xargs 是将键盘上的输入输出在屏幕上

xargs默认 是读取键盘输入在输出出来,把输入的东西 传给下一个命令作为参数

二、命令date? -----查看当前系统时间

date查看当前系统时间

-d 你描述的日期,显示指定字符串所描述的时间,而非当前时间

%F 完整日期格式,等价于 %Y-%m-%d

% T 时间(24小时制)(hh:mm:ss)

-s 修改系统时间

?date -d '-1 day' +%F? ? ?前一天

date ?+%F? ? ?当前日期 yy-mm-dd(年月日)

date -d '1 day ' +%F-%T? ? ?后一天

?date -d "-3 day" ? ? ?前三天

?date -d "+3 day" ?后三天

?date -s "12:34:56"

三、/proc目录和内核参数管理

/proc目录:内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出

/proc是虚拟文件夹,不存在磁盘中,而存在内存当中的

内核参数:

  • 只读:只用于输出信息

  • 可写:可接受用户指定“新值”来实现对内核某功能或特性的配置

/proc/sys 设置

sysctl是一个允许改变正在运行中的Linux系统的接口,修改的是针对整个系统的内核参数。sysctl的修改是立即且临时的(重启后失效)。也可以通过修改sysctl.conf配置文件,达到永久生效

sysctl 命令用于查看或设定此目录中诸多参数

sysctl -w path.to.parameter=VALUE

默认配置文件:/etc/sysctl.conf 及以下文件

/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf

sysctl命令:

sysctl -a? ??查看所有生效参数

临时设置某参数? ? ?sysctl -w parameter=VALUE

通过读取配置文件设置参数? ??sysctl -p [/path/to/conf_file]

查看指定参数当前值? ?sysctl [/path/to/conf_file]?

内核调优:

net.ipv4.ip_forward
路由转发功能
net.ipv4.icmp_echo_ignore_all
禁止ping
net.ipv4.ip_nonlocal_bind ?    
#允许应用程序可以监听本地不存在的IP

这个一定要开,大部分都是开着的

echo命令通过重定向方式也可以修改大多数参数的值

? ? ?echo "VALUE" > /proc/sys/path/to/parameter

临时修改内核参数:

临时修改内核参数:

#临时修改
[root@localhost ~]#sysctl -w  net.ipv4.icmp_echo_ignore_all=0
#注意0前后不要有空格空格
net.ipv4.icmp_echo_ignore_all = 0

net.ipv4.icmp_echo_ignore_all? ? ? ?禁止ping

vm.drop_caches? ? ?清除缓存

swap?

常用的内核参数:

net.ipv4.ip_forward
路由转发功能
net.ipv4.icmp_echo_ignore_all
禁止ping
net.ipv4.ip_nonlocal_bind ?    
#允许应用程序可以监听本地不存在的IP

vm.drop_caches
#清除缓存

fs.file-max = 1020000 ? ? ? ? ? 
#全局打开文件的最大数


vm.overcommit_memory = 0 ?
#0表示内核将检查是否有足够可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则内存申请失败,并把错误返回给应用进程。
#1表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
#2表示内核允许分配超过所有物理内存和交换空间总和的内存。


vm.swappiness = 10
#什么时候允许使用swap  剩余百分之10  可以使用


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
#禁用IPv6

你做过那些内核调优?

开启路由转发功能,一定要开启

tcp连接数

开启禁ping?

……

范例:禁止ping

[root@localhost ~]#sysctl -a|grep   icmp
net.ipv4.icmp_echo_ignore_all = 1
[root@localhost ~]#vim /etc/sysctl.conf 
net.ipv4.icmp_echo_ignore_all = 1


[root@localhost ~]#vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1  
#删除上条记录无法恢复ping  读取配置文件是修改内存中的配置, 没有此条记录内存中还是保持原样



#临时修改
[root@localhost ~]#sysctl -w  net.ipv4.icmp_echo_ignore_all=0
#注意0前后不要有空格空格
net.ipv4.icmp_echo_ignore_all = 0




#子配置
[root@centos7 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all 
0
[root@centos7 ~]#vim /etc/sysctl.d/test.conf
#子配置文件
[root@centos7 ~]#cat /etc/sysctl.d/test.conf
#可以测试  删除此条配置查看是否可以ping通,  
net.ipv4.icmp_echo_ignore_all=1
[root@centos7 ~]#sysctl -p /etc/sysctl.d/test.conf
net.ipv4.icmp_echo_ignore_all = 1


[root@centos8 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all 
1
文章来源:https://blog.csdn.net/zzzxxx520369/article/details/135714790
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。