इसी तरह का सवाल है: Cgroups, प्रति उपयोगकर्ता मेमोरी को सीमित करते हैं, लेकिन समाधान "आधुनिक" सिस्टम में काम नहीं करता है, जहां cgroups पदानुक्रम को systemd द्वारा प्रबंधित किया जाता है।
सीधा समाधान - templating user-UID.slice - काम नहीं करेगा, क्योंकि यह समर्थित नहीं है, https://github.com/systemd/systemd/issues/2556 देखें ।
क्या वांछित प्रभाव प्राप्त करने का कोई तरीका है - प्रति उपयोगकर्ता के आधार पर सीपीयू और / या स्मृति संसाधनों का प्रबंधन करना?
UPD : मैं अपने समाधान को इतिहास के लिए रखूंगा, लेकिन systemctl set-property
लॉगिन समय पर कॉल किया जाना चाहिए, उपयोग करके pam_exec
, https://github.com/hashbang/shell-etc/pull/183 देखें । इस दृष्टिकोण में, उपयोगकर्ता के लॉगिन और सीमाओं की सेटिंग के बीच कोई समय खिड़की नहीं है।
मेरा समाधान । इंटरफ़ेस org.freedesktop.login1.Manage
की /org/freedesktop/login1
वस्तु का उत्सर्जन करता है UserNew(u uid, o object_path)
संकेत। मैंने एक साधारण डेमॉन लिखा है जो सिग्नल को सुनता है और हर बार इसे CPUAccounting=true
सिर्फ लॉग-इन-इन-यूजर के स्लाइस के लिए सेट किया जाता है।