[20190523]修改引數後一些細節注意2.txt

lfree發表於2019-05-24

[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

--//沒有改變.終於明白問題在哪裡...
--//浪費一個上午的時間.............
--//總之,一些配置引數要生效,最好退出再重新登陸。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2645466/,如需轉載,請註明出處,否則將追究法律責任。

相關文章