在不使用 sysctl 的情况下修改 linux 中的内核参数

Posted

技术标签:

【中文标题】在不使用 sysctl 的情况下修改 linux 中的内核参数【英文标题】:modify kernel parameters in linux without using sysctl 【发布时间】:2016-06-16 18:39:43 【问题描述】:

我有一个嵌入式系统。旧的 linux 操作系统在其上运行。当我输入“uname -r”命令时,我得到的版本信息为“3.3.8-3.4”。

我想在 /proc/sys. 中修改一些网络内核参数(增加 tcp 接收缓冲区大小等)。但是这个旧的 linux 内核版本中不存在 sysctl 命令。 /etc目录下也不存在sysctl.conf

我尝试手动更改内核参数文件,但即使对于超级用户,系统也不允许此操作。

如何在这个linux版本中修改内核参数?

【问题讨论】:

可能是,这不是问题。尝试超级用户或 unix/linux。 不幸的是,我的简化嵌入式 linux 操作系统中不存在 sudo 命令 【参考方案1】:

您可以使用/proc/sys。例如以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

...与

基本相同
sysctl -w net.ipv4.ip_forward=1

但是,您需要自行确保在启动时设置参数。

【讨论】:

我试过了,它有效,谢谢。但有些东西我不明白。这里的回声是什么意思?我无法使用 vi、cat 或任何其他程序修改 /proc/sys 下的任何文件,但 echo 会修改它们。是回声的特性还是别的什么? 这是一个错字。它应该是 ip_forward,而不是 ip_forwarding。更正了

以上是关于在不使用 sysctl 的情况下修改 linux 中的内核参数的主要内容,如果未能解决你的问题,请参考以下文章

在linux里修改了环境变量或者某些配置文件之后,怎么在不重开终端的情况下让修改起作用?

配置sysctl.conf文件修改内核参数

Linux 系统参数修改命令sysctl

linux系统怎么在不影响使用的情况下再创建一个分区?急急急!!!

Linux 内核参数

sysctl介绍