diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in
index 2fba943437ad69b3f8d23e2520d245e61f3e0db9..de718ae7955cfb4efb0a7afc1e6c4a35f6ed58c9 100644
--- a/etc/slurmctld.service.in
+++ b/etc/slurmctld.service.in
@@ -5,7 +5,9 @@ ConditionPathExists=@sysconfdir@/slurm.conf
 
 [Service]
 Type=forking
-ExecStart=@sbindir@/slurmctld
+EnvironmentFile=-/etc/sysconfig/slurmctld
+ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS
+ExecReload=/bin/kill -HUP $MAINPID
 PIDFile=/var/run/slurmctld.pid
 
 [Install]
diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in
index b4703812df979ecd3f20b5f3a4c364d997ab491e..72e051c6ed5b6f10fe028c624922f21b0bd1337b 100644
--- a/etc/slurmd.service.in
+++ b/etc/slurmd.service.in
@@ -5,9 +5,14 @@ ConditionPathExists=@sysconfdir@/slurm.conf
 
 [Service]
 Type=forking
-ExecStart=@sbindir@/slurmd
+EnvironmentFile=-/etc/sysconfig/slurmd
+ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS
+ExecReload=/bin/kill -HUP $MAINPID
 PIDFile=/var/run/slurmd.pid
 KillMode=process
+LimitNOFILE=51200
+LimitMEMLOCK=infinity
+LimitSTACK=infinity
 
 [Install]
 WantedBy=multi-user.target
diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in
index bd8a1741c0c4778d6c67bc38343c40eb77eccd55..5280f14a816178a3d8bddcb34b3716bd25109f3c 100644
--- a/etc/slurmdbd.service.in
+++ b/etc/slurmdbd.service.in
@@ -5,7 +5,9 @@ ConditionPathExists=@sysconfdir@/slurmdbd.conf
 
 [Service]
 Type=forking
-ExecStart=@sbindir@/slurmdbd
+EnvironmentFile=-/etc/sysconfig/slurmdbd
+ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS
+ExecReload=/bin/kill -HUP $MAINPID
 PIDFile=/var/run/slurmdbd.pid
 
 [Install]