• 検索結果がありません。

2407

3.1.1 カーネル引数

2408

McKernelのカーネル引数を表??に示す。

2409

Table 3.1: McKernelのカーネル引数

引数 説明

hidos IKCを有効にする。

dump level=

<dump level>

Linuxpanicハンドラ経由でダンプを行った場合の、ダンプ対象とするメモリ

領域の種類を<dump level>に設定する。設定可能な値は以下の通り。

0 IHKMcKernelに割り当てたメモリ領域を出力する。

24 カーネルが使用しているメモリ領域を出力する。

指定がなかった場合は24が用いられる。

allow oversubscribe McKernelに割り当てられたCPU数より大きい数のスレッドまたはプロセスの生成

を許可する。この引数が指定されない場合に、CPU数より大きい数のスレッドまた はプロセスをclone(), fork(), vfork()などで生成しようとすると、当該システ ムコールがEINVALエラーを返す。

3.1.2 ブートスクリプト

2410

書式

2411

mcreboot.sh [-c <cpulist>] [-r <ikcmap>] [-m <memlist>] [-f <facility>] [-o

2412

<chownopt>] [-i <mon interval>] [-k <redirct kmsg>] [-q <irq>] [-t] [-d <dump level>]

2413

[-O]

2414

オプション

2415

2416

オプション 説明

-c <cpulist> McKernelに割り当てるCPUのリストを指定する。フォーマットは以下の通り。<CPU logical id>[,<CPU logical id>...] または<CPU logical id>-<CPU logical id>[,<CPU logical id>-<CPU logical id>...]または両者の混合。

-r <ikcmap> McKernelCPUIKC メッセージを送るLinux CPU を指定する。フォーマ ットは以下の通り。<CPU list>:<CPU logical id>[+<CPU list>:<CPU logical id>...] <CPU list>のフォーマットは-c オプションにおけるものと同じであ る。各<CPU list>:<CPU logical id><CPU list>で示されるMcKernelCPU <CPU logical id>で示されるLinuxCPUIKCメッセージを送信すること を意味する。

-m <memlist> McKernelに割り当てるメモリ領域を指定する。フォーマットは以下の通り。〈サイ

ズ〉@NUMA-node番号〉[,〈サイズ〉@NUMA-node番号〉...]

-f <facility> ihkmond が 使 用 す る syslog プ ロ ト コ ル の facility を 指 定 す る 。デ フォル ト は LOG LOCAL6

-o <chownopt> IHKのデバイスファイル (/dev/mcd*, /dev/mcos*) のオーナーとグループの値 <user>[:<group>]の形式で指定する。デフォルトはmcreboot.shを実行した ユーザ。

-i <mon interval> ihkmondがハングアップ検知のためにOS状態を確認する時間間隔を秒単位で指定す る。-1が指定された場合はハングアップ検知を行わない。指定がない場合はハング アップ検知を行わない。

-k <redirect kmsg> カーネルメッセージの/dev/logへのリダイレクト有無を指定する。0が指定された場 合はリダイレクトを行わず、0以外が指定された場合はリダイレクトを行う。指定が ない場合はリダイレクトを行わない。

-q <irq> IHKが使用するIRQ番号を指定する。指定がない場合は64-255の範囲で空いてい

るものを使用する。

-t x86 64アーキテクチャ固有)Turbo Boostをオンにする。デフォルトはオフ。

-d <dump level> Linuxpanicハンドラ経由でダンプを行った場合の、ダンプ対象とするメモリ 領域の種類を<dump level>に設定する。設定可能な値は以下の通り。

0 IHKMcKernelに割り当てたメモリ領域を出力する。

24 カーネルが使用しているメモリ領域を出力する。

指定がなかった場合は24が用いられる。

-O McKernelに割り当てられたCPU数より大きい数のスレッドまたはプロセスの生成

を許可する。指定がない場合は許可しない。すなわち、CPU数より大きい数のスレッ ドまたはプロセスを生成しようとするとエラーとなる。

説明

2417

2418

McKernel関連カーネルモジュールをinsmodし、<cpulist>で指定されたCPUと<memlist>

2419

指定されたメモリ領域からなるパーティションを作成し、IKC map<ikcmap>に設定し、前

2420

記パーティションにMcKernelをブートする。

2421

戻り値

2422

0 正常終了

0以外 エラー

3.1.3 シャットダウンスクリプト

2423

書式

2424

mcstop+release.sh

2425

オプション

2426

なし

2427

説明

2428

McKernelをシャットダウンし、McKernel用パーティションを削除し、関連カーネルモ

2429

ジュールをrmmodする。

2430

戻り値

2431

0 正常終了

0以外 エラー

3.1.4 プロセス起動コマンド

2432

インターフェイスは第??節に記載する。

2433

3.1.5 統計情報取得

2434

バッチジョブスケジューラは、IHKの関数ihk os getrusage()を呼ぶことでジョブの統計

2435

情報を取得できる(インターフェイスは”IHK Specifications”参照)。

2436

ihk os getrusage()はvoid *rusageという引数で結果を返す。McKernelではrusage

2437

の実際の型はstruct mckernel rusage型で、以下のように定義される。

2438

struct mckernel_rusage {

2439

unsigned long memory_stat_rss[IHK_MAX_NUM_PGSIZES];

2440

/* ユーザのぺージサイズごとのanonymousページ使用量現在値(バイト単位) */}

2441

unsigned long memory_stat_mapped_file[IHK_MAX_NUM_PGSIZES];

2442

/* ユーザのページサイズごとのfile-backedページ使用量現在値(バイト単位) */}

2443

unsigned long memory_max_usage;

2444

/* ユーザのメモリ使用量最大値(バイト単位) */

2445

unsigned long memory_kmem_usage;

2446

/* カーネルのメモリ使用量現在値(バイト単位) */

2447

unsigned long memory_kmem_max_usage;

2448

/* カーネルのメモリ使用量最大値(バイト単位) */

2449

unsigned long memory_numa_stat[IHK_MAX_NUM_NUMA_NODES];

2450

/* NUMAごとのユーザのメモリ使用量現在値(バイト単位) */

2451

unsigned long cpuacct_stat_system;

2452

/* システム時間(USER_HZ単位) */

2453

unsigned long cpuacct_stat_user;}

2454

/* ユーザ時間(USER_HZ単位) */

2455

unsigned long cpuacct_usage;}

2456

/* ユーザのCPU時間(ナノ秒単位) */

2457

unsigned long cpuacct_usage_percpu[IHK_MAX_NUM_CPUS];

2458

/* コアごとのユーザのCPU時間(ナノ秒単位)*/

2459

int num_threads;

2460

/* スレッド数現在値 */

2461

int max_num_threads;

2462

/* スレッド数最大値 */

2463

};

2464

memory stat rssおよびmemory stat mapped fileのインデックスはサイズによるペー

2465

ジ種であり、x86 64アーキでは以下のように定義される。

2466

#define IHK_OS_PGSIZE_4KB 0

2467

#define IHK_OS_PGSIZE_2MB 1

2468

#define IHK_OS_PGSIZE_1GB 2

2469

3.1.6 ダンプ解析コマンド

2470

インターフェイスは第??節に記載する。

2471

3.1.7 ダンプ形式変換コマンド

2472

インターフェイスは第??節に記載する。

2473