标签: sysctl

我可以配置我的 Linux 系统以获得更积极的文件系统缓存吗?

我既不担心 RAM 使用情况(因为我已经足够了),也不担心在意外关闭的情况下丢失数据(因为我的电源有保障,系统是可靠的,数据并不重要)。但是我做了很多文件处理并且可以使用一些性能提升。

这就是为什么我想将系统设置为使用更多 RAM 进行文件系统读写缓存,积极预取文件(例如,预读应用程序访问的整个文件,以防文件大小合理或至少否则,请提前读取其中的一大块)并减少刷新写入缓冲区的频率。如何实现这一目标(可能)?

我在 XUbuntu 11.10 x86 上使用 ext3 和 ntfs(我经常使用 ntfs!)文件系统。

linux performance filesystems fstab sysctl

146
推荐指数
4
解决办法
13万
查看次数

如何在 Mac 上持续控制最大系统资源消耗?

在小牛队之前,我可以使用/etc/launchd.conf文件来改变最大系统资源消耗,例如:

limit maxfiles 16384 unlimited
limit maxproc 16384 unlimited
Run Code Online (Sandbox Code Playgroud)

它不再适用于小牛队。

在最新版本的 OS X 中,正确的做法是什么?

osx sysctl ulimit

86
推荐指数
4
解决办法
11万
查看次数

禁用透明大页面

我们正在RAID机器中安装 SAP HANA 。作为安装步骤的一部分,提到,

 To disable the usage of transparent hugepages set the kernel settings 
 at runtime with echo never > /sys/kernel/mm/transparent_hugepage/enabled 
Run Code Online (Sandbox Code Playgroud)

因此,如果我想让它成为永久更改,而不是运行时,我应该在/proc/vmstat文件中添加上面的行吗?

linux kernel sysctl

70
推荐指数
5
解决办法
14万
查看次数

/proc/sys/net/ipv[46]/conf/ 中的“all”、“default”和“eth*”有什么区别?

在的sysctl,所述/proc/sys/net/ipv[46]/conf/键具有以下子项:alldefault,和每个网络接口的密钥。例如,在具有单个网络接口 eth0 的机器上,它将如下所示:

iserv ~ # ll /proc/sys/net/ipv[46]/conf/
/proc/sys/net/ipv4/conf/:
insgesamt 0
dr-xr-xr-x 0 root root 0 12. Sep 23:30 all/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 default/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 eth0/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 lo/

/proc/sys/net/ipv6/conf/:
insgesamt 0
dr-xr-xr-x 0 root root 0 12. Sep 23:30 all/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 default/
dr-xr-xr-x 0 root root 0 12. …
Run Code Online (Sandbox Code Playgroud)

linux proc ipv6 sysctl

40
推荐指数
3
解决办法
1万
查看次数

如何设置和理解 fs.notify.max_user_watches

我不明白设置的最佳方法fs.inotify.max_user_watchessysctl。事实上,除了我需要设置特定进程可以查看的文件数量这一事实之外,我对这里发生的事情并不了解。

我相信我可以通过运行以下命令查看最大用户数:

cat /proc/sys/fs/inotify/max_user_watches
Run Code Online (Sandbox Code Playgroud)

我的理解是,有些人建议/proc/sys/fs/inotify/max_user_watches通过/etc/sysctl.conf在编辑器中打开并将其添加到其中来进行更改:

fs.inotify.max_user_watches=524288
Run Code Online (Sandbox Code Playgroud)

然后运行sudo sysctl -p- 大概 - 处理对文件所做的更改。

其他人建议运行这样的命令:

sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=12288
Run Code Online (Sandbox Code Playgroud)

我知道这-w代表 write,但是正在写什么,写在哪里?只是这个命令改变了/proc/.../max_user_watches吗?

上面概述的两种方法中哪一种最好?我知道524288和12288是不同的数字,但是我不明白运行-p-w.

linux sysctl

39
推荐指数
2
解决办法
5万
查看次数

dmesg:读取内核缓冲区失败:权限被拒绝

由于最近 Debian 更改了默认行为dmesg,我不能简单地从本地用户使用它。

% dmesg
dmesg: read kernel buffer failed: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

同样适用于:

% cat /dev/kmsg                      
cat: /dev/kmsg: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

以错误跟踪器为主角,这导致:

如何将此行为改回前一个行为,其中允许本地用户使用 dmesg。我找不到它的特定组(例如 sudoers 或类似的东西)。

linux debian sysctl dmesg

33
推荐指数
1
解决办法
4万
查看次数

ping localhost 和 ping 127.0.0.1 有什么区别?

执行以下命令禁用 ping 回复后:

# sysctl net.ipv4.icmp_echo_ignore_all=1
# sysctl -p
Run Code Online (Sandbox Code Playgroud)

我从 ping localhost 与 127.0.0.1 获得不同的结果

# ping -c 3 localhost
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.101 ms

--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.047/0.072/0.101/0.022 ms
Run Code Online (Sandbox Code Playgroud)

Ping 127.0.0.1 失败:

ping -c 3 127.0.0.1 …
Run Code Online (Sandbox Code Playgroud)

ping sysctl

32
推荐指数
3
解决办法
2万
查看次数

找出与 sysctl.conf 和 sysctl.d 相关的内核选项的值

在我的 Ubuntu 机器上,在/etc/sysctl.conf文件中,我默认注释掉了反向路径过滤选项,如下所示:

#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
Run Code Online (Sandbox Code Playgroud)

但在/etc/sysctl.d/10-network-security.conf它们中(同样,默认情况下)没有注释掉:

net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Run Code Online (Sandbox Code Playgroud)

那么是否启用了反向路径过滤?哪个配置位置优先?如何检查这些和其他内核选项的当前值?

linux ubuntu configuration sysctl linux-kernel

29
推荐指数
1
解决办法
9万
查看次数

kernel 5.10.119 导致 /proc/sys/kernel/random/entropy_avail 和 poolsize 的值为 256

更新到内核 5.10.119 后,/proc/sys/kernel/random/entropy_avail卡在 256 并且移动鼠标时不会改变。以前是3000多。

# cat /proc/sys/kernel/random/entropy_avail  
256
Run Code Online (Sandbox Code Playgroud)

另外,/proc/sys/kernel/random/poolsize下降到 256。以前是 4096。

这是一个错误吗?你能相信这个内核的新随机数生成器只有 256 个可用熵吗?

proc random sysctl linux-kernel

22
推荐指数
2
解决办法
7739
查看次数

kernel.printk 值说明

在 Debian 5 和 6 之间, kernel.printk 中的默认建议值/etc/sysctl.conf从 更改kernel.printk = 4 4 1 7kernel.printk = 3 4 1 3。我知道第一个值对应于控制台的内容。接下来的 3 个值是什么?

数值是否与系统日志日志级别具有相同的含义?或者他们有不同的定义?

我是否在搜索中遗漏了一些文档,或者是找出内核源代码的唯一位置。

linux logs kernel sysctl

21
推荐指数
2
解决办法
3万
查看次数