linux 内核 配置串口

linux 内核 配置串口,第1张

由于linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。

首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:

kernel.shmall = 2097152

kernel.shmmax = 4294967295 如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容:

fs.file-max = 6553600

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

这里的“fs.file-max = 6553600”其实是由“fs.file-max = 512 * processes”得到的,我们指定processes的值为12800,即为“fs.file-max =512 *12800”。

sysctl.conf文件修改完毕后,接着执行“sysctl -p”使设置生效。

[root@localhost ~]# sysctl -p 常用的内核参数的含义如下。

kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4gb,即“4294967295/1024/1024/1024=4g”。

kernel.shmmni:表示单个共享内存段的最小值,一般为4kb,即4096bit.

kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kb,也就是4096字节。

fs.file-max:表示文件句柄的最大数量。文件句柄表示在linux系统中可以打开的文件数量。

ip_local_port_range:表示端口的范围,为指定的内容。

kernel.sem:表示设置的信号量,这4个参数内容大小固定。

net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。

net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)

net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。

net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。

得重新编译内核,之前修改源代码的顶层目录下的Makefile文件,比如2.6.29.1内核的Makefile中:VERSION=2PATCHLEVEL=6SUBLEVEL=29EXTRAVERSION=.1

配置 Linux 内核参数(2种方法),修改后不用重启动更新: /sbin/sysctl -p

第一种:打开/etc/sysctl.conf 复制如下内容

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

第二种:打开终端

cat >>/etc/sysctl.conf<

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

EOF

这里,对每个参数值做个简要的解释和说明。

(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。

(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。

(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。

(4)sem:该参数表示设置的信号量。

(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

修改好内核以后,执行下面的命令使新的配置生效。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/205809.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存