自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

配置推送錯(cuò)誤導(dǎo)致DB被kill

運(yùn)維 系統(tǒng)運(yùn)維
這是日常環(huán)境發(fā)生的一起mysql收到kill信號(hào)的問(wèn)題,作者維西(@維西V )將其整理如下。

【編者按】這是日常環(huán)境發(fā)生的一起mysql收到kill信號(hào)的問(wèn)題,作者維西(@維西V )將其整理如下:

【問(wèn)題表現(xiàn)】

在功能測(cè)試時(shí),mysql經(jīng)常被kill掉,有較統(tǒng)一的時(shí)間間隔:

gbk可以看到是明確的kill 信號(hào)                                     

NewImage

【問(wèn)題原因】

首先排除了人為后臺(tái)腳本進(jìn)行kill,檢查環(huán)境時(shí)發(fā)現(xiàn)ulimit 有異常參數(shù):

  1. $ ulimit -t  
  2. 300  
  3. (-t The maximum amount of cpu time in seconds)  
  4. (實(shí)際上為,進(jìn)程消耗cpu的總量,達(dá)到閾值后會(huì)自己被kill) 

【影響范圍】

       SQA的DB機(jī)器8臺(tái),web app機(jī)器5臺(tái)

【問(wèn)題分析】

標(biāo)準(zhǔn)DB模版clone中,和ulimit相關(guān)的文件如下,(優(yōu)先級(jí)低->高):

  1. cat /etc/security/limits.d/tops_dba_limits.conf   
  2. *   soft    nofile  131070  
  3. *   hard    nofile  131070  
  4. *   soft    nproc   131070  
  5. *   hard    nproc   131070  
  6. cat /etc/security/limits.conf  
  7. *   soft    nproc   131070  
  8. *   hard    nproc   131070  
  9. *   soft    nofile  131070  
  10. *   hard    nofile  131070 

所以u(píng)limit -t參數(shù)為默認(rèn)值unlimited,該機(jī)器上的配置文件和clone一致,但運(yùn)行ulimit -t顯示的竟然是300。

經(jīng)排查發(fā)現(xiàn),OS配置管理時(shí),一個(gè)任務(wù)為對(duì)自己所用資源做限制,

連接進(jìn)來(lái)后申明了ulimit -t 300的session參數(shù)

然后該任務(wù)不斷擴(kuò)展,增加了重啟sshd操作,導(dǎo)致后續(xù)ssh進(jìn)來(lái)的進(jìn)程繼承了300的配置,導(dǎo)致問(wèn)題

 (新進(jìn)程先繼承session參數(shù),后讀取OS配置文件,但配置文件未寫(xiě)出cpu limit,合并后取300)。

【源碼】

  1. ./kernel/posix-cpu-timers.c:1139  
  2. view sourceprint?  
  3. if (psecs >= sig->rlim[RLIMIT_CPU].rlim_max) {  
  4.              /*  * At the hard limit, we just die.No need to calculate anything else now.*/  
  5.              __group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk);  
  6.              return;    
  7.      }  
  8.      if (psecs >= sig->rlim[RLIMIT_CPU].rlim_cur) {  
  9.              /*  At the soft limit, send a SIGXCPU every second. */  
  10.              __group_send_sig_info(SIGXCPU, SEND_SIG_PRIV, tsk);  
  11.              if (sig->rlim[RLIMIT_CPU].rlim_cur  
  12.                  < sig->rlim[RLIMIT_CPU].rlim_max) {  
  13.                      sig->rlim[RLIMIT_CPU].rlim_cur++;  
  14.  }  
  15.      } 

【改進(jìn)措施】

/etc/security/limits.conf中對(duì)all賬號(hào),顯式注明cpu unlimited (soft/hard)

底層配置管理或者批量操作時(shí),避免使用小眾命令,盡量使用常規(guī)命令和成熟工具。

責(zé)任編輯:黃丹 來(lái)源: mysqlsky.com
相關(guān)推薦

2022-01-13 11:41:55

URLDoSRCE

2009-12-16 14:28:56

路由器配置

2022-09-03 23:52:27

云計(jì)算漏洞安全

2011-04-14 13:12:57

OSPF路由

2010-01-08 15:11:15

交換機(jī)安裝位置

2023-11-09 08:00:00

NoSQL數(shù)據(jù)庫(kù)

2011-04-08 18:17:40

路由OSPF

2011-04-08 18:10:31

路由

2022-07-08 08:47:48

CIOKPIIT

2023-04-26 00:06:22

服務(wù)器死循環(huán)報(bào)錯(cuò)

2018-07-27 08:46:45

集成云計(jì)算備份

2021-04-12 20:16:58

企業(yè)高管首席執(zhí)行官CIO

2025-01-02 13:39:12

2024-11-28 08:30:00

2023-12-04 09:49:06

微軟

2012-12-13 13:38:22

nginx目錄遍歷漏洞

2012-05-06 09:09:00

2023-09-05 19:50:03

2009-04-08 08:26:56

Sun淪落福布斯

2021-10-28 09:54:01

割接路由配置網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)