Linux上的sysctl

转载 2007年09月24日 01:15:00
原贴:http://www.linuxpk.com/2386.html
Linux上的sysctl

我们常常在 Linux 的 /proc/sys 目录下,手动设定一些 kernel 的参数或是直接 echo 特定的值给一个 proc下的虚拟档案,俾利某些档案之开启,常见的例如设定开机时自动启动 IP Forwarding:

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

   其实,在 Linux 我们还可以用 sysctl command 便可以简易的去检视、设定或自动配置 特定的 kernel 设定。我们可以在系统提示符号下输入「sysctl -a」,摘要如后:abi.defhandler_coff = 117440515

  dev.raid.speed_limit_max = 100000

  net.ipv4.conf.default.send_redirects = 1

  net.ipv4.conf.default.secure_redirects = 1

  net.ipv4.conf.default.accept_redirects = 1

  net.ipv4.conf.default.mc_forwarding = 0

  net.ipv4.neigh.lo.delay_first_probe_time = 5

  net.ipv4.neigh.lo.base_reachable_time = 30

  net.ipv4.icmp_ratelimit = 100

  net.ipv4.inet_peer_gc_mintime = 10

  net.ipv4.igmp_max_memberships = 20

  net.ipv4.ip_no_pmtu_disc = 0

  net.core.no_cong_thresh = 20

  net.core.netdev_max_backlog = 300

  net.core.rmem_default = 65535

  net.core.wmem_max = 65535

  vm.kswapd = 512 32 8

  vm.overcommit_memory = 0

  vm.bdflush = 30 64 64 256 500 3000 60 0 0

  vm.freepages = 351 702 1053

  kernel.sem = 250 32000 32 128

  kernel.panic = 0

  kernel.domainname = (none)

  kernel.hostname = pc02.shinewave.com.tw

  kernel.version = #1 Tue Oct 30 20:11:04 EST 2001

  kernel.osrelease = 2.4.9-13

  kernel.ostype = Linux

  fs.dentry-state = 1611 969 45 0 0 0

  fs.file-nr = 1121 73 8192

  fs.inode-state = 1333 523 0 0 0 0 0

  从上述的语法我们大概可看出 sysctl 的表示法乃把目录结构的「/」以「.」表示,一层一层的连结下去。当然以echo 特定的值给一个 proc下的虚拟档案也是可以用 sysctl加以表示,例如:

  #sysctl –w net.ipv4.ip_forward =”1”

  或是直接在 /etc/sysctl.conf 增删修改特定档案的 0,1值亦可:

  # Enables packet forwarding

  net.ipv4.ip_forward = 1

  # Enables source route verification

  net.ipv4.conf.default.rp_filter = 1

  # Disables the magic-sysrq key

  kernel.sysrq = 0

   当然如果考虑 reboot 后仍有效, 直接在 /etc/sysctl.conf 增删修改特定档案的 0,1值才可使之保留设定(以RedHat 为例,每次开机系统启动后, init 会执行 /etc/rc.d/rc.sysinit,便会使用 /etc/sysctl.conf 的预设值去执行 sysctl)。

  相关参考档案:

  /sbin/sysctl

  /etc/sysctl.conf

  sysctl 及sysctl.conf manpage

  /usr/src/linux-x.y.z/Documentation/sysctl/*

  /usr/share/doc/kernel-doc-x.y.z/sysctl/* (RedHat)
本文来自:http://www.linuxpk.com/2386.html
-->linux电子图书免费下载和技术讨论基地

linux sysctl

  • 2011年08月25日 21:18
  • 7KB
  • 下载

Linux下清除缓存 drop_caches,sysctl(备忘)

1. 用命令 free -m 查看一下内存的使用情况: 然后清除缓存后再来查看一下内存的使用情况: 前后对比可发现,缓存由之前的110M缩小到了25M,效果比较明显。 2. 下面说一下 d...
  • Sky_qing
  • Sky_qing
  • 2013年05月29日 13:19
  • 19161

在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink

一、引言 一般地,在使用虚拟内存技术的多任务系统上,内核和应用有不同的地址空间,因此,在内核和应用之间以及在应用与应用之间进行数据交换需要专门的机制来实现,众所周知,进程间通信(IPC)机制就是...

Apache Web Server性能测试中大量TIME_WAIT解决方法 及 Linux sysctl.conf 优化解决方案

Background: ADF-FR / RR   ST/PT 测试时调整的参数。 今天早上一上班,有同事就反映公司好几个网站都打不开,登陆数据库 服务器(windows),发...

linux运行时动态调整内核参数工具sysctl学习小结

1.sysctl        sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经...

Linux内核参数 /etc/sysctl.conf 功能说明

设置Linux内核参数 /etc/sysctl.conf  配置 Linux 内核参数修改后不用重启动更新: /sbin/sysctl -p 打开/etc/sysctl.conf 复制如下内容 k...

Sysctl命令及linux内核参数调整

Sysctl命令及linux内核参数调整   一、Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现。...
  • huyangg
  • huyangg
  • 2011年12月05日 15:04
  • 489

用sysctl进行调整Linux系统性能

sysctl是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百...

sysctl: 深入使用Linux的必经之路

设置Sysctl.conf用以提高Linux的性能Sysctl是一个允许您改变正在运行中的Linux系统的接 口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员...
  • locape
  • locape
  • 2011年03月31日 23:11
  • 9266

linux内核 与 web服务器 相关的某些参数(sysctl)

缘由 昨天,深入理解ng
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux上的sysctl
举报原因:
原因补充:

(最多只允许输入30个字)