stdout의 출력 속도를 제한하는 방법은 무엇입니까?

stdout의 출력 속도를 제한하는 방법은 무엇입니까?

저는 CentOS 5.7을 실행 중이고 선택적으로 백업 파일을 stdout. 대상은 SSHFS 파일 시스템입니다. 대역폭을 소모하지 않고 네트워크 성능을 저하시키지 않기 위해 데이터가 "디스크"에 기록되는 속도를 제한하고 싶습니다.

stdout바이트 수에 따라 기능을 제한하는 방법은 무엇입니까 ? 예를 들어 프로세스의 쓰기 기능을 약 768Bps로 제한합니다.

답변1

파이프라인에 속도 제한 도구를 추가할 수 있습니다.

예를 들어pv속도 제한 옵션이 있습니다.

-L RATE, --rate-limit RATE

전송을 초당 최대 RATE바이트로 제한합니다. 킬로바이트(*1024), 메가바이트 등을 나타내기 위해 접미사 "k", "m", "g" 또는 "t"를 추가할 수 있습니다.

또 다른 옵션은 도구입니다.buffer포함:

   -u microseconds

각 쓰기는 이 마이크로초 동안 일시 중지됩니다. 기본값은 0입니다. (놀랍게도 각 쓰기 후 짧은 절전 모드(100us)는 일부 드라이브의 처리량을 크게 향상시킬 수 있습니다.)

답변2

원격 볼륨에 직접 쓰는 것보다 로컬 디스크에 덤프하고 싶습니다. 이렇게 하면 rsyncwith 를 사용하여 --bwlimit전송을 쉽게 제한 할 수 있습니다.

이 접근 방식의 장점 중 하나는 원격 컴퓨터의 연결에 문제가 있는 경우 전송이 중단되지만 백업 자체가 갑자기 폭발하지 않는다는 것입니다.

답변3

태양광(파이프라인 보기)

echo asdlfkjasdf | pv -q -L 12

관련 정보