在Solaris上,使用工具mdb就可以直接修改内核内存里的内容。而在Linux上,则通常使用命令sysctl(8)做类似的事情。 本文以Fedora为例,介绍如何在Linux上进行内核参数调整。 常见的方法有两种:

  • 修改配置文件/etc/sysctl.conf, 然后使用sysctl -p装载修改的参数使之生效
  • 直接使用sysctl(8)命令对内核参数进行修改

第一种方法修改内核参数后,重启后仍然有效;而后一种方法修改内核参数后,重启则失效。 下面介绍后一种方法。

$ man sysctl
NAMEsysctl - configure kernel parameters at runtime...<snip>...

1. 读取所有的内核参数

$ sysctl -a

2. 修改一个内核参数

2.1 使用systcl

READ:  sysctl -n <key>WRITE: sysctl -w <key>=<value>

e.g.

root@ThinkCentre:~# hostname
ThinkCentreroot@ThinkCentre:~# sysctl -a | egrep -i 'hostname ='
kernel.hostname = ThinkCentreroot@ThinkCentre:~# sysctl -w kernel.hostname=ThinkCentreXXX
kernel.hostname = ThinkCentreXXXroot@ThinkCentre:~# sysctl -n kernel.hostname
ThinkCentreXXXroot@ThinkCentre:~# hostname
ThinkCentreXXX

2.2 直接修改文件

  • 通过strace(1)找出对应的文件,例如:
 1 root@ThinkCentre:~# strace sysctl -w kernel.hostname=ThinkCentreXXX
 2 execve("/sbin/sysctl", ["sysctl", "-w", "kernel.hostname=ThinkCentreXXX"], 0x7ffe201b30b0 /* 37 vars */) = 0
 3 brk(NULL)                               = 0x557df65e4000
 4 ...<snip>.......................................................................
 5 stat("/proc/sys/kernel/hostname", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
 6 openat(AT_FDCWD, "/proc/sys/kernel/hostname", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
 7 fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
 8 write(3, "ThinkCentreXXX\n", 15)        = 15
 9 close(3)                                = 0
10 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
11 write(1, "kernel.hostname = ThinkCentreXXX"..., 33kernel.hostname = ThinkCentreXXX
12 ) = 33
13 close(1)                                = 0
14 close(2)                                = 0
15 exit_group(0)                           = ?
16 +++ exited with 0 +++

从第5,6行可以看出,操作的文件是 /proc/sys/kernel/hostname

  • 直接写文件,例如:
root@ThinkCentre:~# hostname
ThinkCentreXXX
root@ThinkCentre:~# echo "ThinkCentre" > /proc/sys/kernel/hostname
root@ThinkCentre:~# hostname
ThinkCentre

参考资料:

  • Mastering the Linux "sysctl" Command
  • THE /proc FILESYSTEM

转载于:https://www.cnblogs.com/idorax/p/9141153.html

在Linux上进行内核参数调整相关推荐

  1. oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义

    前两天看到一篇Redhat官方的Oracle安装文档,对于Linux内核参数的修改描述的非常清晰. 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其 ...

  2. aix内核是linux,linux和aix内核参数检查

    安装oracle软件时需要设置操作系统级别的用户限制,后期检查可以使用如下命令,方便问题的排查工作 linux: tail -15 /etc/security/limits.conf tail -30 ...

  3. linux 内核参数调整说明

    linux 内核参数调整说明 所有的TCP/IP调优参数都位于/proc/sys/net/目录.例如, 下面是最重要的一些调优参数, 后面是它们的含义: 1. /proc/sys/net/core/r ...

  4. Linux系统TCP内核参数优化总结

    简介:Linux系统TCP内核参数优化总结 日常运维工作中,会遇到很多TCP相关的问题,网上有很多文章介绍需要优化哪些TCP内核参数,但是并没有很详细说明优化的依据.适用的场景是什么,如果我们不了解各 ...

  5. linux内核参数的程序,技巧-Linux内核参数调整办法

    ulimit设置 ulimit -n 要调整为100000甚至更大. 命令行下执行 ulimit -n 100000即可修改.如果不能修改,需要设置 /etc/security/limits.conf ...

  6. Linux 下 Oracle 内核参数优化

    数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Or ...

  7. linux 安装 加入内核参数,Linux 实现自动安装服务组件以及优化内核参数

    安装好Linux裸机后(安装请参考: http://www.linuxidc.com/Linux/2014-12/111062.htm),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也 ...

  8. linux配置ARP内核参数,详细讲解linux内核参数arp_announce和arp_ignore

    linux内核/proc/sys/net/ipv4/conf中下面会有各网卡的配置参数其中arp_ignore和arp_annouce与arp相关 arp_ignore 取值为integer 0 (d ...

  9. Linux之TCPIP内核参数优化

    /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这 ...

最新文章

  1. Laravel 5.5.* Bug一枚
  2. 第二章 第三节 创建第一个程序
  3. javascript this 关键字学习
  4. python中的函数def和函数的参数
  5. Atitit.获取approot api 应用根路径 java c#.net php asp
  6. leetcode312. 戳气球(动态规划)
  7. BIO,NIO,AIO总结(一)
  8. 设计模式-结构型模式,适配器模式(4)
  9. 安卓一键清理内存_一键深度清理手机内存,从此和卡顿再见
  10. Type-C扩展坞自适应供电专利维权案例
  11. KY-RTI分布仿真技术:第一章 简介
  12. OSChina 周二乱弹 ——室友开始买假发女装了
  13. 手把手教你如何微信公众号开发
  14. Swift学习笔记 (四十二) 不透明类型
  15. 用Python破解有道翻译反爬虫机制
  16. 拼图式拖动滑块的验证——使用selenium+python实现
  17. 运维工单系统 php,运维平台体系化建设之工单系统
  18. bootstrap-table的refresh查询
  19. 那些年这么火的MyCat你还不知道吗?
  20. win10 卸载cuda

热门文章

  1. Selenium高亮页面对象
  2. 美宣布制裁中兴通讯 商务部:坚决反对并将交涉
  3. linux虚拟用户的配置
  4. 天天Linux-安装samba,nasm
  5. android自定义弹框效果合集,android 自定义弹出框AlertDialog ,很炫的哦
  6. 如何解决VHDL中参数化赋值:赋全0、全1、全z
  7. 从TimeQuest角度看set_max_delay
  8. Verilog中inout端口的使用方法
  9. ASSERT(断言)的用法
  10. vmware下ubuntu安装vmware tool工具及使用鼠标滚轮的方法