프로그램 사용/distcc & ccache
distcc 만세!
구차니
2021. 5. 12. 10:43
라즈베리 파이 3b+ 에 lxde 올리지 않고 콘솔로만 해서 메모리 최대한 확보하고 쓰는 중인데
비디오 메모리 64MB 정도 먹혔는지 가용 메모리가 706MiB 정도.
$ free -h total used free shared buff/cache available Mem: 924Mi 50Mi 706Mi 4.0Mi 166Mi 817Mi Swap: 99Mi 9.0Mi 90Mi |
그런 이유로 텐서플로우 빌드시 rpi 메모리가 2G 넘지 않으면 코어 하나만 쓰게 되어있다.
FREE_MEM="$(free -m | awk '/^Mem/ {print $2}')" # Use "-j 4" only memory is larger than 2GB if [[ "FREE_MEM" -gt "2000" ]]; then NO_JOB=4 else NO_JOB=1 fi |
그래서 distcc 통해 개별 노드에서 2개씩, 총 3개 노드/ 6 core 쓰도록 하니
35~40분 정도 걸리던 빌드가 8분 40초 만에 끝내준다.
real 8m39.261s user 2m47.210s sys 0m51.071s |
개별 노드에서 병렬시 2개 까지만 허락하도록 해놔야지 안그러면
메모리 부족으로 스왑한다고 io 폭주해서 라즈베리가 먹통이 된다.
/etc/default/distcc
# # You can specify a maximum number of jobs, the server will accept concurrently # # JOBS="" JOBS="2" |