systemd-logind.service的RemoveIPC參數影響


systemd-logind.service的RemoveIPC參數影響

背景

在centos7.2,RHEL7.2或Kylin-Server-20200711版本系統內核上遇到一個奇怪的問題,用戶登入后創建的文件,在用戶logout后會被自動刪除。

原因

在RHEL7.2及之后,systemd-logind 服務引入了一個新特性——當一個user 完全退出os之后,remove掉所有的IPC objects。
該特性由/etc/systemd/logind.conf參數文件中RemoveIPC選項來控制。詳細請看man logind.conf(5)。當使用默認值(即 RemoveIPC=yes)的情況,當用戶退出時,操作系統會remove掉該用戶的shared memory segments and semaphores。

影響范圍

在設置了RemoveIPC=yes 的RHEL7.2或Kylin-Server-20200711版本系統中會crash掉使用了Shared Memory Segment (SHM) or Semaphores (SEM)的應用程序

目前遇到過的數據庫應用

  1. 在RHEL7.2上安裝的Oracle Database應用程序異常crash
  2. 在Kylin-Server-10-SP1-Release-Build04-20200711-x86_64部署的DM DSC應用也出現異常crash

解決方案

關閉RemoveIPC特性

# 修改配置文件 
sed -i 's/.*RemoveIPC.*/RemoveIPC=no/' /etc/systemd/logind.conf 

# 檢查確認配置
grep RemoveIPC /etc/systemd/logind.conf
RemoveIPC=no

# 重啟服務或重啟操作系統
systemctl daemon-reload
systemctl restart systemd-logind.service

# 結果驗證確認
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM