本サイトで公開しておりますプログラムは無断使用禁止です。使用料(1個あたり5,000円)をお支払いいただくことでご利用いただけます。
連絡先についてはこちらをご覧ください。

cgroup によって、プロセス(群)のCPU使用率を制御するBashプログラム

# 無断使用禁止

target_pid=$1
percent=$2
sub_direc=$3

if [ -z "$target_pid" ] || [ -z "$percent" ] || [ -z "$sub_direc" ]; then
    echo "USAGE: $0 {target_pid or 'NONE'} percent subsys_name"
    exit 1
fi

if [ $(whoami) != root ]; then
    echo "root only"
    exit 1
fi

modprobe cls_cgroup
if ! mount | grep -q "/sys/fs/cgroup"; then
    mount -t tmpfs cgroup /sys/fs/cgroup
fi

cls_dir=/sys/fs/cgroup/cpu
if ! mount | grep -q "$cls_dir"; then
    mkdir $cls_dir
    mount -t cgroup -o cpu test $cls_dir # mount -> 'test on /sys/fs/cgroup/blkio type cgroup (rw,relatime,blkio)'
fi

[ -d $cls_dir/$sub_direc ] || mkdir $cls_dir/$sub_direc

if ! [ "$percent" = "_" ]; then
    period=$((200 * 1000)) # 200ms
    echo $period > $cls_dir/$sub_direc/cpu.cfs_period_us

    val=$(echo "$period * $percent / 100" | bc | sed -e 's/\.[0-9]\+//')
    echo $val > $cls_dir/$sub_direc/cpu.cfs_quota_us

    echo $val / $period
fi

if [ "$target_pid" != 'NONE' ]; then
    echo $target_pid > $cls_dir/$sub_direc/tasks
fi

MENU - sun610サイト
●画像 0001 0002 0003 0004 0005
●プログラム ディレクトリ内ファイルロックを試すRubyプログラム
     NodeListからArrayにシャッフルしつつ変換するJavaScriptプログラム
     ディレクトリ内 RAW画像ファイルのメタデータからJPEGファイルを並列実行で取得するBashプログラム
     cgroup によって、プロセス(群)のCPU使用率を制御するBashプログラム
     TTY内にてsudoセッションを長時間維持するBashプログラム
●歴史画像アーカイブ 00001 00002 00003 00004 00005 00006
連絡先
inserted by FC2 system