/proc/sys/kernel/文档(三)

perf_event_paranoid

    控制非特权用户对性能事件系统的使用(无CAP_SYS_ADMIN)。预设值为2。

-1允许所有用户使用(几乎)所有事件。在没有CAP_IPC_LOCK的情况下,忽略perf_event_mlock_kb之后的mlock限制
> = 0没有CAP_SYS_ADMIN的用户不允许ftrace函数跟踪点。禁止没有CAP_SYS_ADMIN的用户进行原始跟踪点访问
> = 1禁止没有CAP_SYS_ADMIN的用户访问CPU事件
> = 2禁止没有CAP_SYS_ADMIN的用户进行内核配置
perf_event_max_stack

    控制要复制(attr.sample_type & PERF_SAMPLE_CALLCHAIN)配置的事件的最大堆栈帧数,例如,在使用“ perf record -g”或“ perf trace –call-graph fp”时。
    仅当没有使用启用了呼叫链的事件时,才可以执行此操作,否则写入此文件将返回 -EBUSY。
    默认值为127。

perf_event_mlock_kb

    控制每个cpu环缓冲区的大小不按mlock限制计算。
    默认值为512 + 1页。一般每页4Kb,所以默认值为516。

perf_event_max_contexts_per_stack

    控制(attr.sample_type & PERF_SAMPLE_CALLCHAIN)配置的事件的堆栈帧上下文条目的最大数量,例如,在使用“ perf record -g”或“ perf trace –call-graph fp”时。
    仅当没有使用启用了呼叫链的事件时,才可以执行此操作,否则写入此文件将返回-EBUSY。
    预设值为8。

pid_max

    PID分配值。当内核的下一个PID值达到这个值时,它返回到最小PID值。pid_max的PID值或更大值不能被分配。

ns_last_pid

    当前(使用此sysctl的一个任务位于其中)pid命名空间中分配的最后一个pid。为fork内核上的下一个任务选择pid时,尝试分配一个从这个开始的数字。

powersave-nap: (PPC only)

    如果设置,Linux-PPC将使用节能的“nap”模式,否则将使用“doze”模式。

printk

    printk中的四个值分别表示:console_loglevel, default_message_loglevel, minimum_console_loglevel 和 default_console_loglevel。
    这些值会影响printk()打印或记录错误消息时的行为。有关不同日志级别的更多信息,请参见“ man 2 syslog”。

  • console_loglevel:
    优先级高于此优先级的消息将被打印到控制台
  • default_message_loglevel:
    没有明确优先级的消息将以该优先级打印
  • minimum_console_loglevel:
    可以将console_loglevel设置为的最小值(最大值)
  • default_console_loglevel:
    console_loglevel的默认值
printk_delay

    将每个printk消息延迟printk_delay毫秒
    允许使用0到10000之间的值。

printk_ratelimit

    一些警告消息是受速率限制的。printk_ratelimit指定这些消息之间的最短时间长度(以秒为单位)。默认值为5秒。
    值为0将禁用速率限制。

printk_ratelimit_burst

    虽然从长期来看,我们强制每 printk_ratelimit 秒一条消息,但我们确实允许一组消息通过。printk_ratelimit_burst指定在ratelimit启动之前可以发送的消息数。
    默认值为10条消息。

randomize_va_space

    对于支持此功能的体系结构,此选项可用于选择系统中使用的进程地址空间随机化的类型。

0关闭进程地址空间随机化。这是始终不支持此功能的体系结构以及使用“ norandmaps”参数启动的内核的默认设置。
1使mmap base,stack和VDSO页面的地址随机化。除其他外,这意味着共享库将被加载到随机地址。同样对于PIE链接的二进制文件,代码开始的位置是随机的。如果启用了CONFIG_COMPAT_BRK选项,则为默认设置。
2另外启用堆随机化。如果禁用了CONFIG_COMPAT_BRK,这是默认设置。有一些遗留的应用程序(比如1996年的一些旧版本libc.so.5)假设brk区域在代码+bss结束后才开始。当brk区域的开始是随机的时,这些应用程序将中断。然而,没有已知的非遗留应用程序会以这种方式被破坏,所以对于大多数系统来说,选择完全随机化是安全的。具有旧二进制文件和/或损坏二进制文件的系统应配置为启用CONFIG_COMPAT_BRK,这将堆排除在进程地址空间随机化之外。
sched_schedstats

    启用/禁用调度程序统计信息。启用此功能会在调度程序中产生少量开销,但对于调试和性能调整很有用。

shmall

    此参数设置可以在系统范围内使用的共享内存页面的总数。因此,SHMALL应该始终至少为ceil(shmmax / PAGE_SIZE)。
    如果不确定Linux系统上的默认PAGE_SIZE是什么,则可以运行以下命令:

#getconf PAGE_SIZE
shmmax

    该值可用于查询和设置可创建的最大共享内存段大小的运行时限制。内核现在支持高达1Gb的共享内存段。此值默认为SHMMAX。

shm_rmid_forced

    Linux允许您通过setrlimit(2)设置资源限制,包括一个进程可以消耗多少内存。不幸的是,共享内存段被允许与任何进程关联而不存在,因此可能不被计算在任何资源限制上。如果启用,则在分离或进程终止后,共享内存段的附加计数变为零时,共享内存段将自动销毁。它也会破坏在进程退出时创建的但从不附加的片段。IPC_RMID的用途是立即销毁未连接的段。当然,这打破了定义事物的方式,因此一些应用程序可能会停止工作。请注意,除非同时配置资源限制(特别是RLIMIT_AS和RLIMIT_anproc),否则此功能对您没有好处。大多数系统不需要这个。

sysctl_writes_strict

    通过 /proc/sys 接口,控制文件位置如何影响更新sysctl值的行为:

-1传统的per-write sysctl值处理,没有printk警告。每次写入系统调用必须完全包含要写入的sysctl值,并且在同一个sysctl文件描述符上多次写入都将重写sysctl值,而不管文件位置如何。
0与上面的行为相同,但当文件位置不是0时,对执行写入sysctl文件描述符的进程发出警告。
1(默认)在写入sysctl字符串时尊重文件位置。多次写入将追加到sysctl值缓冲区。超过sysctl值缓冲区最大长度的任何内容都将被忽略。对数值sysctl项的写入必须始终位于文件位置0,并且该值必须完全包含在写入系统调用发送的缓冲区中。
softlockup_all_cpu_backtrace

    当检测到是否要收集进一步的调试信息的软锁定条件时,此值控制软锁定检测器线程的行为。如果启用,将向每个cpu发出NMI并指示其捕获堆栈跟踪。
    此功能仅适用于支持NMI的体系结构。
    0:什么都不做。这是默认行为。
    1:在检测时捕获更多调试信息。

tainted

    如果内核已被污染,则为非零值。数值,可以进行或运算。这些字母显示在Oops报告的“Tainted”行中。
    当内核被污染时,某些调试功能和API调用可能会被禁用。
    内核可能由于以下几种原因而受到污染,包括(但不限于)以下几种原因:

  • 使用专有(或非GPL兼容)内核模块-这是内核受污染的最常见原因,通常是由于加载专有NVIDIA或AMD视频驱动程序导致的
  • staging 驱动程序的使用,它是内核源代码的一部分,但尚未经过全面测试
  • 使用Linux内核源代码未包含的out-of-tree模块
  • 强制加载或卸载内核模块(例如,强制插入不是为当前内核版本构建的模块)
  • 在某些不受支持的单处理器CPU(主要是较旧的AMD Athlon处理器)上使用SMP(多处理器)内核
  • 重写ACPI DSDT,有时需要更正电源管理错误
  • 某些关键错误条件,例如machine check exceptions 和 kernel oopses
  • 系统固件(BIOS,UEFI)中内核必须解决的某些严重错误
threads-max

    此值控制可以使用fork()创建的最大线程数。
    在初始化期间,内核设置该值,使得即使创建了最大线程数,线程结构仅占用可用RAM页的一部分。
    可以写入threads-max的最小值为1。
    可以写入线程最大值的最大值由常数 FUTEX_TID_MASK(0x3fffffff)给出。
    如果将超出此范围的值写入threads-max,则会发生EINVAL错误。

unknown_nmi_panic

    此文件中的值会影响处理NMI的行为。当该值不为零时,将捕获未知的NMI,然后发生panic。那时,控制台上会显示内核调试信息。
    例如,大多数IA32服务器具有的NMI开关会启动未知的NMI。如果系统挂断,请尝试按NMI开关。

watchdog

    此参数可用于同时禁用或启用软锁定检测器和NMI看门狗(即硬锁定检测器)。
0:禁用两个锁定检测器
1:启用两个锁定检测器
    也可以使用soft_watchdog和nmi_watchdog参数分别禁用或启用软锁定检测器和NMI看门狗。如果读取了看门狗参数,例如通过执行以下命令:

cat /proc/sys/kernel/watchdog

    此命令(0或1)的输出显示软监视器和nmi监视器的逻辑或。

watchdog_cpumask

    此值可用于控制看门狗可以在哪个CPU上运行。默认的cpumask是所有可能的核心,但是如果在内核配置中启用了NO_HZ_FULL,并且使用nohz_full = boot参数指定了核心,则默认情况下将排除这些核心。脱机内核可以包含在此掩码中,如果以后使内核联机,则将根据掩码值启动看门狗。
    通常,只有在nohz_full情况下才会触及此值,以重新启用默认情况下不运行监视程序的内核(如果怀疑这些内核上存在内核锁定)。
    参数值是cpumask的标准cpulist格式,例如,要在内核0、2、3和4上启用看门狗,可以使用如下命令:

echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask
watchdog_thresh

    此值可用于控制hrtimer和NMI事件的频率以及软、硬锁定阈值。默认阈值为10秒。
    软锁定阈值为(2 * watchdog_thresh)。将此可调参数设置为零将完全禁用锁定检测。

参考文档

https://www.kernel.org/doc/html/latest/admin-guide/sysctl/kernel.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值