xinetd를 통해 rsync에 nice 및 ionice 설정

xinetd를 통해 rsync에 nice 및 ionice 설정

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스크립트가 모든 것을 처리하도록 할 수 있습니다.)

관련 정보