xinetd를 통해 rsync용 Nice 및 ionice를 설정하려고 합니다. 저는 Fedora 16을 사용하고 있습니다. 이 값을 사용하려는 이유는 rsync 프로세스를 유휴 상태로 줄여서 다른 프로세스가 영향을 받지 않고 실행될 수 있도록 하기 위해서입니다.
nice 및 ionice 값을 설정 하려고 하는데 /etc/default/rsync
이것이 나에게 적합하지 않은 것 같습니다. rsync 프로세스는 19로 설정하더라도 항상 좋은 값 0으로 시작됩니다. 이 설정이 xinetd에서 유효합니까? xinetd를 사용하여 좋은 rsync를 달성하는 또 다른 방법이 있습니까?
이것은 내 구성 파일입니다.
/etc/rsync.conf:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[share]
<shares go here>
/etc/xinetd.d/rsync:
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
/etc/default/rsync:
RSYNC_ENABLE=inetd
RSYNC_OPTS=''
RSYNC_NICE='19'
RSYNC_IONICE='-c3'
답변1
sr_ 님의 조언 덕분에 해결책이 생긴 것 같습니다.
/etc/xinet.d/rsync
다음 줄을 추가/변경했습니다 .
service rsync
{
...
nice = 19
server = /usr/bin/ionice
server_args = -c 3 /usr/bin/rsync --daemon
...
}
를 사용하려면 ionice
서버 값을 으로 변경해야 ionice
합니다 rsync
. 그런 다음 시작 rsync
하려면 매개변수 섹션에 추가하세요 .ionice
답변2
이 데비안 조각 /etc/default/rsync
(Fedora는 아마도 많이 움직이지 않을 것입니다),
# run rsyncd at a nice level?
# ...
RSYNC_NICE=''
# run rsyncd with ionice?
# ...
# RSYNC_IONICE='-c3'
*NICE
가치관을 느끼게 해주세요rsyncd
데몬 프로세스 에만 영향을 미침. 관찰하면서 /etc/init.d/rsync
우리는 발견한다
if [ -s $RSYNC_DEFAULTS_FILE ]; then
. $RSYNC_DEFAULTS_FILE
case "x$RSYNC_ENABLE" in
xtrue|xfalse) ;;
xinetd) exit 0
# ... the next lines examine the *NICE variables...
즉, rsync
와 함께 사용 하면 inetd
값 *NICE
은 전혀 중요하지 않습니다.
rsync
의 줄을 바꿔 볼 수 있습니다 inetd.conf
.
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
^^^^^^^^^^^^^^
내 생각에는 일부 명령줄을 사용하여 [io]nice
값을 설정하는 것이 좋습니다.
편집하다사용 중인 마지막 문장에 줄을 그어 지우고 xinetd
이를 시도하려면 rsync
포함된 코드 조각에서 명령을 변경해야 합니다.
service rsync
{
...
server = /usr/bin/rsync
...
}
편집 2의 판단이것, 명령이 양호 xinetd
해야 하는 구성 항목이 있습니다 .nice
nice Changes the server priority like the nice command does.
따라서 설정을 결합 nice=19
하고 명령 /etc/xinetd.d/rsync
앞에 다음을 추가해 볼 수 있습니다.server
누군가 ionice
전화한다,예를 들어 ionice -c3
.
(이것이 작동할지 확실하지 않습니다. 하지만 작동하지 않는 경우에도 여전히 rsyncd
데몬으로 실행하고 /etc/init.d
스크립트가 모든 것을 처리하도록 할 수 있습니다.)