Linux常用命令——sysctl命令

article/2025/8/28 0:33:57

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)

sysctl

时动态地修改内核的运行参数

补充说明

sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。

语法

sysctl(选项)(参数)

选项

-n:打印值时不打印关键字;
-e:忽略未知关键字错误;
-N:仅打印名称;
-w:当改变sysctl设置时使用此项;
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
-a:打印当前所有可用的内核参数变量和值;
-A:以表格方式打印当前所有可用的内核参数变量和值。

参数

变量=值:设置内核参数对应的变量值。

实例

查看所有可读变量:
sysctl -a
读一个指定的变量,例如kern.maxproc
sysctl kern.maxproc kern.maxproc: 1044
要设置一个指定的变量,直接用variable=value这样的语法:

sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000

您可以使用sysctl修改系统变量,也可以通过编辑sysctl.conf文件来修改系统变量。sysctl.conf看起来很像rc.conf。它用variable=value的形式来设定值。指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。
sysctl变量的设置通常是字符串、数字或者布尔型。(布尔型用 1 来表示’yes’,用 0 来表示’no’)。

sysctl -w kernel.sysrq=0
sysctl -w kernel.core_uses_pid=1
sysctl -w net.ipv4.conf.default.accept_redirects=0
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.conf.default.rp_filter=1
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_synack_retries=2
sysctl -w net.ipv4.tcp_keepalive_time=3600
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.ipv4.tcp_sack=1

配置sysctl

编辑此文件:/etc/sysctl.conf
如果该文件为空,则输入以下内容,否则请根据情况自己做调整:

# Controls source route verification
# Default should work for all interfaces
net.ipv4.conf.default.rp_filter = 1
# net.ipv4.conf.all.rp_filter = 1
# net.ipv4.conf.lo.rp_filter = 1
# net.ipv4.conf.eth0.rp_filter = 1# Disables IP source routing
# Default should work for all interfaces
net.ipv4.conf.default.accept_source_route = 0
# net.ipv4.conf.all.accept_source_route = 0
# net.ipv4.conf.lo.accept_source_route = 0
# net.ipv4.conf.eth0.accept_source_route = 0# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1# Increase maximum amount of memory allocated to shm
# Only uncomment if needed!
# kernel.shmmax = 67108864# Disable ICMP Redirect Acceptance
# Default should work for all interfaces
net.ipv4.conf.default.accept_redirects = 0
# net.ipv4.conf.all.accept_redirects = 0
# net.ipv4.conf.lo.accept_redirects = 0
# net.ipv4.conf.eth0.accept_redirects = 0# enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
# Default should work for all interfaces
net.ipv4.conf.default.log_martians = 1
# net.ipv4.conf.all.log_martians = 1
# net.ipv4.conf.lo.log_martians = 1
# net.ipv4.conf.eth0.log_martians = 1# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 25# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1200# Turn on the tcp_window_scaling
net.ipv4.tcp_window_scaling = 1# Turn on the tcp_sack
net.ipv4.tcp_sack = 1# tcp_fack should be on because of sack
net.ipv4.tcp_fack = 1# Turn on the tcp_timestamps
net.ipv4.tcp_timestamps = 1# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1# make more local ports available
# net.ipv4.ip_local_port_range = 1024 65000# set TCP Re-Ordering value in kernel to ‘5′
net.ipv4.tcp_reordering = 5# Lower syn retry rates
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3# Set Max SYN Backlog to ‘2048′
net.ipv4.tcp_max_syn_backlog = 2048# Various Settings
net.core.netdev_max_backlog = 1024# Increase the maximum number of skb-heads to be cached
net.core.hot_list_length = 256# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 360000# This will increase the amount of memory available for socket input/output queues
net.core.rmem_default = 65535
net.core.rmem_max = 8388608
net.ipv4.tcp_rmem = 4096 87380 8388608
net.core.wmem_default = 65535
net.core.wmem_max = 8388608
net.ipv4.tcp_wmem = 4096 65535 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608
net.core.optmem_max = 40960

如果希望屏蔽别人 ping 你的主机,则加入以下代码:

# Disable ping requests
net.ipv4.icmp_echo_ignore_all = 1

编辑完成后,请执行以下命令使变动立即生效:

/sbin/sysctl -p
/sbin/sysctl -w net.ipv4.route.flush=1

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)
原文链接


http://chatgpt.dhexx.cn/article/qhlWDK8Z.shtml

相关文章

Linux之systemctl命令基本使用

文章目录 1. systemctl 管理指令2. systemctl 设置服务的自启动状态3. 应用案例:4. 细节讨论: 1. systemctl 管理指令 基本语法: systemctl [start | stop | restart | status] 服务名systemctl 指令管理的服务在 /usr/lib/systemd/system 查…

systemctl命令解析

原文链接如果有效,请点击原文链接查看。 原文:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 一、由来 历史上,Linux 的启动一直采用init进程。 下面的命令用来启动服务。 $ sudo /etc/init.d/apache2 start # …

Linux常用命令——systemctl命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) systemctl 系统服务管理器指令 补充说明 systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。 任务旧指令新指令使某服务自动启动chkconfig --level 3 ht…

【Linux】之systemd与systemctl

文章目录 一、systemd1. systemd 守护进程管理 Linux 的启动2. systemd 提供的功能:3. systemd 使用单元来管理不同类型的对象。4. 服务单元信息 二、systemctl1. systemctl输出中的服务状态2. 列出servera上安装的所以服务单元3. 列出servera上所有活动和不活动的套接字单元4.…

【linux systemctl】Linux命令之systemctl命令

一、systemctl命令简介 CentOS 5使用SysV init;CentOS 6使用Upstart,CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在…

Linux命令之systemctl命令

一、systemctl命令简介 CentOS 5使用SysV init;CentOS 6使用Upstart,CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在…

idea 如何使用tomcat启动项目

1、首先对项目进行打包(使用maven) 2、打包成功后会有target 3、选择右侧的长条框(如果没有tomcat,框是灰色的,这时你要自己手动加一个tomcat),选择Edit 4、如图所示、点击“”号,继…

Tomcat启动项目慢

原因是多方面,我遇到的情况有三种可能导致tomcat启动项目变慢 情况一:tomcat在启动过程中会检查jar,当有大量的jar被检测的时候,启动需要很长时间 解决办法:将catalina.properties文件中的这一行 tomcat.util.scan.S…

Eclipse配置Tomcat以及使用Tomcat启动项目

1、打开Peferences弹窗 Windeows--->Peferences : 2、输入Server,点击Runtime Enviroument,点击Add: 3、选择tomcat版本: 4、找到自己的tomcat的下载路径,点击finish: 5、顶级apply and close&#xf…

IDEA配置本地tomcat启动项目

1.确认tomcat本地安装是否成功 tomcat安装可以参考我之前写的内容,Windows下tomcat安装教程 2.idea启动tomcat设置 1.新建项目 2.点击Java Enterprise选项,并进行设置 ​ 服务器选择对应的Tomcat版本、JDK版本号要与Tomcat的版本号对应,不然可能出现…

Java项目部署到tomcat启动

Java项目部署到tomcat启动 1.选中项目右击进行打包2.把后缀war文件放入tomcat-->webapps下3.修改tomcat-->conf--server.xml文件4.修改tomcat-->bin-->startup.bat和 shutdown.bat文件5.启动startup.bat 1.选中项目右击进行打包 2.把后缀war文件放入tomcat–>we…

Tomcat启动闪退问题处理

一、问题描述 启动tomcat一闪就退出。 二、解决办法 1、确定JAVA_HOME配置正确 必须有JAVA_HOME变量,且配到了path中 2、新增TOMCAT_HOME变量 3、新增CATALINA_BASE和CATALINA_HOME变量 4、修改Path变量 把%CATALINA_HOME%\lib和%CATALINA_HOME%\bin放到Path中 三…

Tomcat启动后出现乱码

今天启动时出现了如下乱码: 解决方案: 1.找到Tomcat目录下conf文件夹中的logging.properties文件,用记事本打开 2.打开logging.properties文件,找到文件中的java.util.logging.ConsoleHandler.encoding UTF-8, 3.将其…

IDEA创建Tomcat启动配置

很多时候我们都是使用spring自带的Tomcat容器就可以启动应用,这里介绍下使用外置tomcat启动应用。 1.点击IDEA菜单:【Run】–>【Edit Configurations】,进入如下界面: 2.点击左上方【】,选择【Tomcat Server】->…

IDEA整合Tomcat启动javaweb项目

1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已经打破桎梏成为了一个有素养的菜鸡,蓦然回首,还有这么多苦读的学子卡在这个章…

Tomcat启动时,报404错误

在网页输入 https://localhost:8080时出现Not Found 404错误 在Tomcat正常启动后出现的这个错误一般就是该8080端口被占用了,所以我们可以修改Tomcat中的配置文件,打开conf目录后,打开server.properties文件 修改端口号8080为8081 之后再次在…

设置Tomcat启动窗口名称

设置Tomcat启动窗口名称 问题:因为需要启动多个Tomcat,但是每个窗口名称都是tomcat 解决: 1、在Tomcat的bin目录下找到catalina.bat文件,打开编辑 2、在文件中找到if "%TITLE%" "" set TITLETomcat,将Tomcat修改为想要…

SpringBoot | Tomcat启动 SpringBoot项目

Tomcat启动 SpringBoot项目 1. SpringBoot 项目调整1.1 Pom修改1.2 修改 启动类 2. 用外部tomcat启动服务注意事项2.1 失效配置2.1 * Filter 需要调整2.3 两种方式启动流程区别 以及失效原因 3. 总结 1. SpringBoot 项目调整 1.1 Pom修改 <!-- 将packaging 打包方式换成 w…

Tomcat启动路径

对正确启动路径的理解 Tomcat 启动时 会干嘛&#xff1f; 首先在这里设置的 路径 是每次 汤姆猫启动时自动弹出的 页面路径 然后在这里设置的是在汤姆猫的 artifact&#xff08;制品&#xff09;文件夹中会生成的文件夹 只要 这两个地方能够和路径匹配上&#xff0c;每次启动…

Tomcat启动内存设置

Tomcat的启动分为startupo.bat启动和注册为windows服务的启动。 1.startup.bat启动 在tomcat_home/bin目录下找到catalina.bat&#xff0c;用文本编辑器打开&#xff0c;加上下面一行&#xff1a; set JAVA_OPTS -Xms1024M -Xmx1024M -XX:PermSize256M -XX:MaxNewSize256M -…