首页 > 其他分享 >/proc/sys/kernel 、 /proc/sys 、 /sys

/proc/sys/kernel 、 /proc/sys 、 /sys

时间:2023-08-04 10:34:12浏览次数:37  
标签:kernel sched 文件 指定 sys proc 目录

/proc/sys/kernel目录下的常用文件说明

core_pattern:指定生成core文件的模式。
core_uses_pid:指定是否在core文件名中包含进程ID。
ctrl-alt-del:指定按下Ctrl+Alt+Del时系统的行为。
dmesg_restrict:指定是否限制非特权用户访问dmesg命令。
domainname:指定系统的域名。
hostname:指定系统的主机名。
hotplug:指定是否启用热插拔功能。
max_lock_depth:指定最大的自旋锁嵌套深度。
msgmax:指定消息队列中单个消息的最大大小。
msgmnb:指定消息队列的最大字节数。
msgmni:指定系统中消息队列的最大数量。
msgseg:指定每个消息队列中的最大消息数。
panic:指定系统发生严重错误时的行为。
panic_on_oops:指定是否在内核oops发生时触发系统崩溃。
panic_on_warn:指定是否在内核警告发生时触发系统崩溃。
pid_max:指定系统中进程ID的最大值。
printk_ratelimit:指定内核打印消息的速率限制。
printk_ratelimit_burst:指定内核打印消息的速率限制突发值。
randomize_va_space:指定是否启用地址空间随机化。
real-root-dev:指定根文件系统的设备号。
sched_rr_timeslice_ms:指定实时进程的时间片大小。
sem:用于配置系统中的信号量。
shmall:指定系统中共享内存段的最大大小。
shmmni:指定系统中共享内存段的最大数量。
shmmax:指定单个共享内存段的最大大小。
shmmin:指定单个共享内存段的最小大小。
shmmni:指定系统中共享内存段的最大数量。
sysrq:指定是否启用SysRq键。
threads-max:指定系统中线程的最大数量。
yama/ptrace_scope:指定是否限制非特权用户对ptrace系统调用的访问。

这些文件中的值可以通过修改文件内容来改变内核的行为。需要注意的是,修改这些文件可能会对系统的稳定性和安全性产生影响,因此在修改之前应该谨慎考虑,并确保了解修改的后果。

/proc/sys/kernel目录下 sched_* 文件

sched_autogroup_enabled:此文件表示是否启用了自动分组调度。当启用时,内核会自动将相关进程分组,并在调度时优先考虑组内的进程。

sched_latency_ns:此文件指定了CFS(完全公平调度)调度器的延迟目标,即任务的平均运行时间。

sched_nr_migrate:此文件表示每个调度实体(通常是进程)在重新规划调度前可以迁移的次数。

sched_rt_runtime_us:此文件指定了实时调度策略(SCHED_FIFO和SCHED_RR)下进程可用的总运行时间。

sched_tunable_scaling:此文件控制调度参数的缩放因子,用于动态调整调度的灵活性和响应性。

sched_cfs_bandwidth_slice_us:此文件指定了CFS调度器每个任务可以使用的最大时间片大小,以确保任务在给定时间间隔内获得公平的CPU时间。

sched_migration_cost_ns:此文件表示在任务迁移时的成本,即将任务从一个CPU移动到另一个CPU的时间。

sched_rr_timeslice_ms:此文件指定了实时调度策略(SCHED_RR)下每个进程的时间片大小。

sched_schedstats:此目录包含了CFS调度器的统计信息,如任务的等待时间、运行时间等。

sched_wakeup_granularity_ns:此文件表示CFS调度器在唤醒任务时的精度,即唤醒任务的最小延迟时间。

sched_child_runs_first:此文件指定了创建子进程时父进程和子进程之间的调度顺序。

sched_min_granularity_ns:此文件表示CFS调度器的最小调度粒度,即两个任务之间的最小时间间隔。

sched_rt_period_us:此文件指定了实时调度策略(SCHED_FIFO和SCHED_RR)下进程的运行周期。

sched_time_avg_ms:此文件表示CFS调度器用于计算任务平均运行时间的时间窗口大小。

这些参数和目录可以用于调整和优化内核的调度策略,以满足不同应用场景下的性能需求。例如,可以通过调整sched_latency_ns来控制任务的响应时间,通过调整sched_wakeup_granularity_ns来减少任务的唤醒延迟,通过调整sched_rr_timeslice_ms来调整实时任务的时间片大小等。通过修改这些参数,可以对系统的调度行为进行微调,以获得更好的性能和资源利用率。

实际的值

acct:4 2 30
acpi_video_flags:0
auto_msgmni:0
bootloader_type:114
bootloader_version:2
grep: cad_pid: Permission denied
cap_last_cap:37
core_pattern:core
core_pipe_limit:0
core_uses_pid:1
ctrl-alt-del:0
dmesg_restrict:0
domainname:(none)
ftrace_dump_on_oops:0
ftrace_enabled:1
hardlockup_all_cpu_backtrace:0
hardlockup_panic:0
hostname:ip-11-0-206-62.eu-central-1.compute.internal
hotplug:/sbin/hotplug
hung_task_check_count:4194304
hung_task_panic:0
hung_task_timeout_secs:120
hung_task_warnings:10
io_delay_type:0
kexec_load_disabled:0
grep: keys: Is a directory
kptr_restrict:1
latencytop:0
max_lock_depth:1024
modprobe:/sbin/modprobe
modules_disabled:0
msgmax:8192
msgmnb:16384
msgmni:32000
msg_next_id:-1
ngroups_max:65536
nmi_watchdog:0
ns_last_pid:31685
numa_balancing:0
numa_balancing_scan_delay_ms:1000
numa_balancing_scan_period_max_ms:60000
numa_balancing_scan_period_min_ms:1000
numa_balancing_scan_size_mb:256
osrelease:4.14.243-185.433.amzn2.x86_64
ostype:Linux
overflowgid:65534
overflowuid:65534
panic:30
panic_on_io_nmi:0
panic_on_oops:0
panic_on_rcu_stall:0
panic_on_stackoverflow:0
panic_on_unrecovered_nmi:0
panic_on_warn:0
perf_cpu_time_max_percent:25
perf_event_max_contexts_per_stack:8
perf_event_max_sample_rate:100000
perf_event_max_stack:127
perf_event_mlock_kb:516
perf_event_paranoid:2
pid_max:32768
poweroff_cmd:/sbin/poweroff
print-fatal-signals:0
printk:8 4 1 7
printk_delay:0
printk_devkmsg:ratelimit
printk_ratelimit:5
printk_ratelimit_burst:10
randomize_va_space:2
real-root-dev:0
sched_autogroup_enabled:0
sched_cfs_bandwidth_slice_us:5000
sched_child_runs_first:0
grep: sched_domain: Is a directory
sched_latency_ns:18000000
sched_migration_cost_ns:500000
sched_min_granularity_ns:2250000
sched_nr_migrate:32
sched_rr_timeslice_ms:100
sched_rt_period_us:1000000
sched_rt_runtime_us:950000
sched_schedstats:0
sched_time_avg_ms:1000
sched_tunable_scaling:1
sched_wakeup_granularity_ns:3000000
grep: seccomp: Is a directory
sem:32000 1024000000 500 32000
sem_next_id:-1
shmall:18446744073692774399
shmmax:18446744073692774399
shmmni:4096
shm_next_id:-1
shm_rmid_forced:0
softlockup_all_cpu_backtrace:0
softlockup_panic:0
soft_watchdog:1
stack_tracer_enabled:0
sysctl_writes_strict:1
sysrq:16
tainted:0
threads-max:125784
timer_migration:1
traceoff_on_warning:0
tracepoint_printk:0
unknown_nmi_panic:0
unprivileged_bpf_disabled:0
grep: usermodehelper: Is a directory
version:#1 SMP Mon Aug 9 05:55:52 UTC 2021
watchdog:1
watchdog_cpumask:0-3
watchdog_thresh:10

/proc/sys/ 目录说明

/proc/sys/ 目录是一个虚拟文件系统,用于在运行时访问和修改内核参数。它包含了一系列子目录和文件,每个子目录和文件都对应着一个特定的内核参数。

以下是一些比较重要的文件和子目录:

  • /proc/sys/kernel/:包含了一些与内核相关的参数,如core_pattern(生成core文件的模式)、core_uses_pid(是否在core文件名中包含进程ID)、panic(系统发生严重错误时的行为)等。

  • /proc/sys/net/:包含了一些与网络相关的参数,如ipv4/ipv6/icmp等。

  • /proc/sys/vm/:包含了一些与虚拟内存管理相关的参数,如swappiness(内存交换的倾向性)、dirty_ratio(脏页的比例)等。

  • /proc/sys/fs/:包含了一些与文件系统相关的参数,如file-max(系统中打开文件的最大数量)、inode-nr(系统中inode的数量)等。

  • /proc/sys/dev/:包含了一些与设备相关的参数,如rtc/max-user-freq(实时时钟的最大用户频率)等。

/proc/sys/ 目录 与 /sys 目录的区别和联系

区别:

  • 内容不同:/proc/sys/ 目录包含了一系列子目录和文件,每个子目录和文件对应着一个特定的内核参数。而 /sys 目录是一个设备树,包含了系统中的设备和设备驱动程序的信息。

  • 文件类型不同:/proc/sys/ 目录中的文件通常是普通文件,可以通过修改文件内容来改变内核的行为。而 /sys 目录中的文件通常是特殊文件,用于与设备驱动程序进行交互,如读取设备状态、设置设备属性等。

联系:

  • 都是虚拟文件系统:/proc/sys/ 目录和 /sys 目录都是虚拟文件系统,它们提供了一种统一的接口,用于在运行时访问和修改内核参数。

  • 都用于访问和修改内核参数:/proc/sys/ 目录和 /sys 目录都提供了一种机制,用于在运行时访问和修改内核参数。通过修改这些文件的内容,可以改变内核的行为,如调整网络参数、虚拟内存管理参数等。

/sys 介绍

在 Linux 系统中,/sys 目录是一个虚拟的文件系统,它提供了对内核和设备的访问和管理。/sys 目录中的文件和目录是内核和设备的映射,它们可以用来查询和配置系统的各种属性和状态。

以下是一些常见的 /sys 目录下的文件和目录:

  • /sys/devices: 这个目录包含了系统中所有的设备。每个设备都有一个对应的目录,可以在这些目录中找到设备的各种属性和配置信息。

  • /sys/class: 这个目录包含了设备的分类目录。每个设备类别都有一个对应的目录,可以在这些目录中找到该类别下设备的信息。

  • /sys/bus: 这个目录包含了总线类型的目录,例如 PCI、USB 等。每个总线类型都有一个对应的目录,可以在这些目录中找到该总线上的设备信息。

  • /sys/kernel: 这个目录包含了内核的一些属性和参数。例如,可以在/sys/kernel/hostname 文件中查看和修改系统的主机名。

  • /sys/module: 这个目录包含了加载的内核模块的信息。每个已加载的模块都有一个对应的目录,可以在这些目录中找到模块的参数和状态信息。

  • /sys/power: 这个目录包含了系统的电源管理相关的信息。例如,可以在/sys/power/state 文件中设置系统的电源状态。

  • /sys/block: 这个目录包含了块设备的信息。每个块设备都有一个对应的目录,可以在这些目录中找到设备的分区信息和其他属性。

  • /sys/class/net: 这个目录包含了网络设备的信息。每个网络设备都有一个对应的目录,可以在这些目录中找到设备的网络配置和状态信息。

标签:kernel,sched,文件,指定,sys,proc,目录
From: https://www.cnblogs.com/dewan/p/17605237.html

相关文章

  • MSYS2安装gcc、make环境
    下载msys2http://www.msys2.org/修改pacman源使用过archlinux的应该会知道,pacman在安装的时候,如果源没有设置好,下载是很慢的。需要修改的文件是:\etc\pacman.d\mirrorlist.mingw32\etc\pacman.d\mirrorlist.mingw64\etc\pacman.d\mirrorlist.msys这三个文件镜像源我推......
  • 解读 --- System.Windows.Forms.Timer是前台线程吗?
    引言今天同事问了我一个问题,System.Windows.Forms.Timer是前台线程还是后台线程,我当时想的是它是跟着UI线程一起结束的,应该是前台线程吧?我确实没有仔细研究过他们的异同,所以带着这个疑问探究一下System.Windows.Forms.Timer。System.Windows.Forms.Timer机制System.Windows.F......
  • MySQL配置通过systemctl管理
     MySQL配置通过systemctl管理 参考官方文档资料,步骤不多。创建mysqld.service文件。touch/usr/lib/systemd/system/mysqld.servicechmod644/usr/lib/systemd/system/mysqld.service  官方对MySQL5和MySQL8提供的mysqld.service内容并不同。/etc/sysconfig/mysq......
  • syslog日志发送、接收与展示
    三、展示1.tar-zxvf loganalyzer-3.6.0.tar.gz2. yum -y install httpdphp*cp -r src/* /var/www/html/loganalyzercp -r contrib/* /var/www/html/loganalyzerchown -R daemon.daemon /var/www/html/loganalyzer 通过web向导安装loganalyzer前,......
  • Oralce中processes和sessions的设置关系
    一,基本概念Sessions:指定了一个Instance中能够同时存在的sessions数量,或者说,就是能同时登陆到数据库的并发用户数。通常,我们设定这个参数时需要考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数,最后乘以1.1。processes:指定了Instance在OS层面所能同时运......
  • use iproc to config tdr during bscan
    1.casedescriptionwhenrunningbscan,aserialsofpinsneedtobecontrolledto1bytdr;astaticdftsignalwithdefaultvalue1wasregisteredby register_static_dft_signal_names,addedascontrolpointofthosepins;however,valuesarenot......
  • asyncio的subprocess使用
    1.asyncio的subprocessasyncio提供了两个开箱即用的协程函数来创建子进程,这些协程函数都返回一个Process实例1.asyncio.create_subprocess_exec(),用于直接运行命令(如ls、pwd、who、python3、go等)。2.asyncio.create_subprocess_shell(),用于通过shell运行命令。cre......
  • CentOS创建systemctl系统服务
    开机启动服务文件位置:/etc/systemd/system/创建服务文件(以tomcat为例):vim/etc/systemd/system/tomcat.service[Unit]Description=tomcatAfter=network.target[Service]Type=forkingUser=rootGroup=rootExecStart=sh/usr/local/apache-tomcat-8.5.88/bin/startup.sh......
  • 【测试】SAS 编程技巧 - PROC SQL(二)
    上一节中,我们介绍了如何使用SQL创建、删除数据集、修改数据集结构,以及如何新增、删除和更新数据集的观测,所涉及到的内容都是对数据集的增、删、改的操作,从本节开始,我们将对SQL中最常见,也最灵活的查询操作进行详细的介绍。查询语句SQL的查询操作是通过SELECT语句实现的。S......
  • 【测试】SAS 编程技巧 - PROC SQL(一)
    SQL全称StrucuredQueryLanguage,即结构化查询语言,广泛应用于关系型数据库中。SASBase使用PROCSQL提供了对SQL的实现。PROCSQL过程可以帮助我们完成以下任务:创建数据集、视图和索引删除数据集、视图和索引修改数据集的结构更新数据集的观测从数据集或视图中获取......