在Linux上进行内核参数调整
在Solaris上,使用工具mdb就可以直接修改内核内存里的内容。而在Linux上,则通常使用命令sysctl(8)做类似的事情。 本文以Fedora为例,介绍如何在Linux上进行内核参数调整。 常见的方法有两种:
- 修改配置文件/etc/sysctl.conf, 然后使用sysctl -p装载修改的参数使之生效
- 直接使用sysctl(8)命令对内核参数进行修改
第一种方法修改内核参数后,重启后仍然有效;而后一种方法修改内核参数后,重启则失效。 下面介绍后一种方法。
$ man sysctl
NAME
sysctl - 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
ThinkCentre root@ThinkCentre:~# sysctl -a | egrep -i 'hostname ='
kernel.hostname = ThinkCentre root@ThinkCentre:~# sysctl -w kernel.hostname=ThinkCentreXXX
kernel.hostname = ThinkCentreXXX root@ThinkCentre:~# sysctl -n kernel.hostname
ThinkCentreXXX root@ThinkCentre:~# hostname
ThinkCentreXXX
2.2 直接修改文件
- 通过strace(1)找出对应的文件,例如:
root@ThinkCentre:~# strace sysctl -w kernel.hostname=ThinkCentreXXX
execve("/sbin/sysctl", ["sysctl", "-w", "kernel.hostname=ThinkCentreXXX"], 0x7ffe201b30b0 /* 37 vars */) =
brk(NULL) = 0x557df65e4000
...<snip>.......................................................................
stat("/proc/sys/kernel/hostname", {st_mode=S_IFREG|, st_size=, ...}) =
openat(AT_FDCWD, "/proc/sys/kernel/hostname", O_WRONLY|O_CREAT|O_TRUNC, ) =
fstat(, {st_mode=S_IFREG|, st_size=, ...}) =
write(, "ThinkCentreXXX\n", ) =
close() =
fstat(, {st_mode=S_IFCHR|, st_rdev=makedev(, ), ...}) =
write(, "kernel.hostname = ThinkCentreXXX"..., 33kernel.hostname = ThinkCentreXXX
) =
close() =
close() =
exit_group() = ?
+++ exited with +++
从第5,6行可以看出,操作的文件是 /proc/sys/kernel/hostname
- 直接写文件,例如:
root@ThinkCentre:~# hostname
ThinkCentreXXX
root@ThinkCentre:~# echo "ThinkCentre" > /proc/sys/kernel/hostname
root@ThinkCentre:~# hostname
ThinkCentre
参考资料:
在Linux上进行内核参数调整的更多相关文章
- 安装ORACLE时在Linux上设置内核参数的含义
前两天看到一篇Redhat官方的Oracle安装文档,对于Linux内核参数的修改描述的非常清晰. 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其 ...
- Sysctl命令及linux内核参数调整
一.Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现. 命令格式: sysctl [-n ...
- 理解 Linux backlog/somaxconn 内核参数
https://jaminzhang.github.io/linux/understand-Linux-backlog-and-somaxconn-kernel-arguments/ 各参数的含义:h ...
- Linux之TCPIP内核参数
/proc/sys/net目录 参考1.Linux之TCPIP内核参数优化 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的 ...
- TCP三次握手与Linux的TCP内核参数优化
感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理 一:TCP的三次握手 1.TCP简述 TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接.TCP建立连接可以简单称为: ...
- nginx的linux服务器内核参数调整【转】
概述 由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,让Nginx可以拥有更高的性能: 在优化内核时,可以做的事情很 ...
- Linux 下 Oracle 内核参数优化
数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Or ...
- Linux oracle安装 内核参数讲解
在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析. Linux安装文档中给出的最小值: fs.aio-max-nr = 1048576 fs.file-m ...
- linux 内核参数调整优化网络
Linux系统内核设置优化tcp网络,# vi /etc/sysctl.conf,添加以下内容 net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies.当出现SYN等待 ...
随机推荐
- java静态代码块、普通代码
参考文章:http://www.cnblogs.com/qinpengming/p/5227227.html Java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的 ...
- POJ2739 Sum of Consecutive Prime Numbers 2017-05-31 09:33 47人阅读 评论(0) 收藏
Sum of Consecutive Prime Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25225 ...
- hihocoder 二分
题目 一个简单的二分,只是想说明一下,如若要查找一个数组中某个数的下标可以直接用lower_bound()这个函数.只是要考虑到要查找的数不在数组中的这种情况. #include <cstdio ...
- Scala_类
类 简单类 最简单的类的定义形式是: class Test1 { //这里定义类的字段和方法} 可以使用new关键字来生成对象 var test = new Test1() 给类增加字段和方法 Un ...
- SRM473
250pt: 题意:在二维平面上,给定3种,左转.右转,以及前进一步,的指令序列循环执行,问整个移动过程是否是发散的. 思路:直接模拟一个周期,然后判断1.方向是否和初始时不同 2.是否在原来的点 满 ...
- adb push 和 adb pull命令
adb push命令 :从电脑上传送文件到手机: adb pull命令 :从手机传送文件到电脑上 @Cocos 下次需要权限的目录可以执行chmod 777 目录名 ...
- mysql 幻象读
[sql] view plain copy CREATE TABLE `t100` ( `id` bigint(20) NOT NULL default '0', `value` varchar(32 ...
- 【转载】Configure the max limit for concurrent TCP connections
转载地址:http://smallvoid.com/article/winnt-tcpip-max-limit.html To keep the TCP/IP stack from taking al ...
- CentOS 7配置nginx-1.13.10支持http/2和Server Push
0.确保openssl版本大于1.0.2 openssl version 1.下载nginx-1.13.10 wget http://nginx.org/download/nginx-1.13.10. ...
- Windows编译Opencv
下载安装CMake 下载Opencv源码 打开CMake,设置源码路径和生成路径,点击Configure选择要生成的版本.(这里要多次Configure,直到所有红色消失!) 勾选BUILD_open ...