Create TOC

레이블이 shell script인 게시물을 표시합니다. 모든 게시물 표시
레이블이 shell script인 게시물을 표시합니다. 모든 게시물 표시

2017년 3월 30일

OSX/Homebrew 업그레이드

Homebrew 업그레이드는 brew upgrade로 간단히 할 수 있다. 하지만 macvim이나 vim 패키지는 lua가 기본 포함되어 있지 않아서 따로 업그레이드를 해줘야 한다. 이걸 한번에 처리하게 스크립트를 작성했다.

#!/bin/sh

brew update

macvim=`brew outdated | grep macvim | wc -l`
vim=`brew outdated | grep vim | grep -v macvim | wc -l`

if [ $macvim -ne 0 ]; then
 brew upgrade macvim --with-lua
fi

if [ $vim -ne 0 ]; then
 brew upgrade vim --with-lua
fi

others=`brew outdated | wc -l`
if [ $others -ne 0 ]; then
 brew upgrade
fi

brew cleanup

2010년 10월 20일

core 수에 따른 make의 job 최적화

make 에는 -j 옵션이 있고, 이 옵션은 한번에 수행할 수 있는 job 을 지정하는 옵션이다.

이 job의 수는 총 core 개수 + core 개수의 20% 를 추가하는 것이 가장 효율이 좋다고 알려져 있다. 즉

job 수 = core 개수 + round(core 개수 * 0.2)

가 된다.

즉 Q6600 같이 core가 4개라면 4 + round(4 * 0.2) = 5가 된다.

시스템 마다 이것을 계산하는 shell script를 짜면 아래와 같다.

#~/bin/sh

cores=`cat /proc/cpuinfo | grep cores | wc -l`
jobs=`echo "$cores + $cores*0.2"|bc`
echo $jobs|awk '{print int($1+0.5)}'