[20190523]修改参数后一些细节注意2.txt
[20190523]修改参数后一些细节注意2.txt
--//上午想模拟链接遇到的情况,链接http://blog.itpub.net/267265/viewspace-2645262/
--//就是修改参数后没有退出oracle参数导致修改参数无效的情况,可是在我的测试环境根本无法模拟出来,只好找另外1台从来没有配置
--//hugepages的机器说明问题.
--//但是我的测试环境问题到底在哪里呢?最终确定问题在哪里,做一个记录:
1.环境:
# cat /proc/version
Linux version 2.6.39-300.26.1.el5uek (mockbuild@ca-build56.us.oracle.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Thu Jan 3 18:31:38 PST 2013
# grep memlock /etc/security/limits.conf
# - memlock - max locked-in-memory address space (KB)
#* soft memlock 53248
#* hard memlock 53248
--//我已经注解memlock配置.
# ps -ef | egrep "bas[h]" | grep "roo[t]"
root 51091 51089 0 11:22 pts/0 00:00:00 -bash
--//进程号=51091
# cat /proc/51091/limits | egrep "Limit|locked memory"
Limit Soft Limit Hard Limit Units
Max locked memory 54525952000 54525952000 bytes
--//奇怪我已经注解,为什么memlock已经设置并且参数设置还很大呢?登录oracle用户也是一样.
--//54525952000/2048/1024 = 26000, 奇怪这个参数配置来之哪里呢?
--//使用grep探查看看.
# grep -r 26000 /etc/security/*
# grep 26000 /etc/* */
/etc/services:quake 26000/tcp
/etc/services:quake 26000/udp
/etc/sysctl.conf:#vm.nr_hugepages = 26000
--//很明显我以前修改过vm.nr_hugepages参数.但是现在已经注解了.应该不会生效啊.
2.我试着修改/etc/security/limits.conf,取消注解:
# grep memlock /etc/security/limits.conf
# - memlock - max locked-in-memory address space (KB)
* soft memlock 53248
* hard memlock 53248
--//重新登录查看:
# ps -ef | egrep "bas[h]" | grep "roo[t]"
root 52151 52149 4 11:51 pts/0 00:00:00 -bash
# cat /proc/52151/limits |egrep "Limit|locked memory"
Limit Soft Limit Hard Limit Units
Max locked memory 54525952 54525952 bytes
--//54525952 /1024 = 53248
--//可以发现我修改参数是生效的.那么注解后,这个参数来自哪里呢?
3.自己回想肯定我以前修改/etc/sysctl.conf文件配置有关:
vm.nr_hugepages = 26000
--//噢我远程登录一定使用putty,服务器一定启动sshd进程,也许当时sshd进程继承这些参数配置.
# ps -ef | grep ssh[d]
root 5702 1 0 Mar14 ? 00:00:00 /usr/sbin/sshd
root 52149 5702 0 11:51 ? 00:00:00 sshd: root@pts/0
# cat /proc/5702/limits | egrep "Limit|locked memory"
Limit Soft Limit Hard Limit Units
Max locked memory 54525952000 54525952000 bytes
--//这样就能对上了.我远程登录,这样实际上登录用户就继承了sshd的一些参数,如果我没有设置,这些参数不会被重置.
--//一个很简单认证就是重启sshd服务.
# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
# ps -ef | grep ssh[d]
root 52265 1 0 12:01 ? 00:00:00 /usr/sbin/sshd
root 52268 52265 0 12:01 ? 00:00:00 sshd: root@pts/0
# cat /proc/52265/limits | egrep "Limit|locked memory"
Limit Soft Limit Hard Limit Units
Max locked memory 54525952 54525952 bytes
--//即使我注解/etc/security/limits.conf相关参数,登录root用户也可以发现这些参数不会改变.重新登录:
# ps -ef | grep bas[h] |grep root
root 52322 52320 1 12:03 pts/0 00:00:00 -bash
# cat /proc/52322/limits | egrep "Limit|locked memory"
Limit Soft Limit Hard Limit Units
Max locked memory 54525952 54525952 bytes
--//没有改变.终于明白问题在哪里...
--//浪费一个上午的时间.............
--//总之,一些配置参数要生效,最好退出再重新登陆。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库