cgroup 安裝服務配置 記憶體限制

2021-10-10 08:19:46 字數 2364 閱讀 7031

後記ulimits不好用,別看了,systemd-run只能限制單個程序,想針對使用者進行配置,限制某個使用者的記憶體或者cpu核使用,只能通過cgroup,基於核的配置必須指明所用的是哪個核,基於記憶體的配置不用,這裡說一些配置記憶體的東西,其他的配置也可用類似的方法進行配置使用

sudo apt install cgroup-tools。沒啥好說的。

sudo cp /usr/share/doc/cgroup-tools/examples/cgred.conf /etc/

#file - call it the 'groups file'

- that specifies groups.

sudo touch /etc/cgconfig.conf

#file - call it the 'rules file'

- that allocates programs to groups.

sudo touch /etc/cgrules.conf

group indexer 

memory

}

indexer名字隨意,介面卡名字,後來在生成檔案時候可以看見,5g是嚴格記憶體大小,4g是鬆弛記憶體大小,超了會自動殺死程式。

friend                          memory             indexer
friend是使用者名稱,memory是模組名稱,這裡是配的記憶體,可新增cpuset等等,indexer是介面卡名稱,上面任意取的。

cgconfigparser -l  /etc/cgconfig.conf
這一步會在/sys/fs/cgroup/模組名,下建立資料夾,可以通過cgexec進而限制單獨的程序。

這裡會在/sys/fs/cgroup/memory下建立indexer資料夾。

啟用:

cgrulesengd
到這一步,限制使用者記憶體基本配置完事,下一步是將這些配置服務的,順手吐槽ubuntu,沒服務害苦我們了。

// an highlighted block

sudo touch /etc/systemd/system/cgconfigparser.service

vi /etc/systemd/system/cgconfigparser.service

[unit]

description=cgroup config parser

after=network.target

[service]

user=root

group=root

execstart=

/usr/sbin/cgconfigparser -l /etc/cgconfig.conf

type=oneshot

[install]

wantedby=multi-user.target

// an highlighted block

sudo touch /etc/systemd/system/cgrulesgend.service

vi /etc/systemd/system/cgrulesgend.service

[unit]

description=cgroup rules generator

after=network.target cgconfigparser.service

[service]

user=root

group=root

type=forking

environmentfile=

-/etc/cgred.conf

execstart=

/usr/sbin/cgrulesengd

restart=on-failure

[install]

wantedby=multi-user.target

順手提示下,ubuntu裡貼上是ctrl shift c,因為ctrl c是終止,而瀏覽器裡是ctrl c,吐槽。

sudo systemctl daemon-reload && sudo systemctl enable cgconfigparser --now && sudo systemctl enable cgrulesgend --now
sudo systemctl restart cgconfigparser && sudo systemctl restart cgrulesgend
服務配完修改配置時候重啟這兩個服務即可

ubuntu tftp服務安裝和配置

1 安裝相關軟體包 ubuntu tftp 服務端 tftp 客戶端 xinetd sudo apt get install tftpd tftp xinetd 2 建立配置檔案 在 etc xinetd.d 下建立乙個配置檔案tftp sudo vim tftp在檔案中輸入以下內容 service...

ftp服務安裝與配置

安裝ftp服務 yum install vsftpd y ftp服務端配置 3 使用者資訊配置 a etc vsftpd ftpusers 位於 etc目錄下。它指定了哪些使用者賬戶不能訪問ftp伺服器,例如root等。b etc vsftpd user list if userlist deny ...

RabbitMQ服務安裝配置

rabbitmq是流行的開源訊息佇列系統,是amqp advanced message queuing protocol高階訊息佇列協議 的標準實現,用erlang語言開發。rabbitmq據說具有良好的效能和時效性,同時還能夠非常好的支援集群和負載部署,非常適合在較大規模的分布式系統中使用,具體特...