Linux
テストのために、AWSのAmazon Linuxのインスタンスをカーネルレベルでハングアップさせたかったので、テスト用のカーネルモジュールを作ってみました。 できること カーネルのハングアップ(ping応答もできないレベル。プリエンプションをdisableにして実現) …
RHELとmacの、AWS CLIのセットアップ手順です。公式ドキュメントに記載されてなくてハマった点を中心に記載しています。ちなみに、Amazon linuxはプリインストールされているので不要です。
はじめに FlameScopeとは この記事で書いていること セットアップ手順①(MacにFlameScopeをセットアップする) (1)前提パッケージのセットアップ (a)gitコマンドのセットアップ (b)pipコマンドのセットアップ (2)FlameScopeのセットアップ セットアップ手順②(…
psコマンドのVSZ(仮想メモリ)、RSS(物理メモリ)の挙動について質問を受けたので、簡単な検証プログラムを作ってmalloc/freeのメモリ確保/解放や、データの読み込み・書き込みとVSZ/RSSの関係性及び、freeコマンドとmeminfo情報でシステムワイドなメモリの挙…
1.はじめに 2.コードと実行例 (1)コード (2)実行例 3.説明 (1)clock_gettime(CLOCK_REALTIME, &ts) (2)localtime_r( &ts.tv_sec, &tm) (3)printfで出力 1.はじめに clock_gettime()で時刻を取得し時刻をナノ秒で表示するサンプルです。時刻取得といえばgetti…
結論 タイトル通りですが、備忘録です。 CentOSやRHELで最小構成でインストールした場合、最小限のコマンドマニュアルしかなくて、man(2)、man(3)・・・は、入っていないのですね。 結論から言うと、そんな時は"man-pages"(日本語も必要な場合は、man-pages-…
はじめに ツール説明 シェルスクリプト 使い方 出力結果 はじめに 昔作った/proc/meminfoを取得時刻情報取得スクリプトを改造して作った、freeコマンド+/proc/meminfoを取得して、CSV形式で出力するシェルスクリプトです。 nopipi.hatenablog.com ツール説明…
はじめに 構成概要 CloudFormationコード はじめに 前にAWSさんの体験ハンズオンで経験した"LB + Web x 2 + DB x 2"環境構築して、そこに動作確認としてWordPressをインストールして動かすところまでの手順を、CloudFormationを使って自動化して見ました。Wo…
1.ツールができること 2.インストール方法 2.1 前提環境 2.2 前提パッケージ 2.3 Gnu Globalのインストール 2.4 ツールのセットアップ 2.5 ディレクトリの準備 2.6 sudo設定 3.使い方 3.1 簡単な使い方 3.2 引数の説明 1.ツールができること "srpm2html.py"…
1.普通にSRPMをインストールした場合 2.インストール先ディレクトリを指定する方法 2.1 RPMのマクロ定義ファイル("~/.rpmmacros")で指定 (1)マクロ定義ファイルの設定 (2)SRPMのインストール 2.2 コマンド引数でインストール先ディレクトリを指定する方法 3.…
1.はじめに 2.対処方法(古いkernelの削除) (1)現在のカーネルバージョンの確認 (2)インストール済みカーネルのバージョン一覧を確認 (3)コマンドをテスト実行確認(DryーRun) (4)パッケージを削除する (5)削除されたか確認 3.参考 1.はじめに ubuntuで「ソフ…
0.関連記事一覧 1.はじめに 2.ネットワーク構成例 2.1静的IP構成 (1)構成イメージ (2)KickStart設定例 2.2DHCP設定の場合 (1)構成イメージ (2)KickStart設定例 2.3複数セグメント設定 (1)構成イメージ (2)KickStart設定例 2.4VLAN設定 (1)構成…
0.関連記事一覧 1.はじめに 2.ネットワーク設定 (1)スタティック設定例 (2)DHCP設定例 3.ディスク設定 (1)ブートディスク構成例*1 (2)上記構成例の場合のKickStart設定 4.インストールパッケージ設定 5.ユーザ設定 (1)rootユーザのパスワード設…
0.関連記事一覧 1.はじめに 1.1KickStartとは 1.2ざっくりした使い方 2.利用手順 2.1ファイル(ks.cfg)の編集 2.2ファイル検証 2.3インストーラを起動しキックスタートをローディングする 2.4インストール完了 3.補足(kickstartフ…
1.はじめに 2.準備(インストールメディア) インストールメディアを用意 USBメモリブートメディア作成 3.インストール 4.MacBook用のubuntu設定 ファンクションキーの反転 マウス変更 5.使いやすくするために ランチャーへの登録 アップデート GUIから実…
一覧 インラインアセンブラ制御子レジスタ名称 x86(32bit)x86_64(64bit) aeaxrax bebxrbx cecxrcx dedxrdx Sesirsi Dedirdi r8-r8 r9-r9 r10-r10 r11-r11 r12-r12 r13-r13 r14-r14 r15-r15 ネタ gccのマニュアル(6.44.3 Constraints for asm Operands) IntelのCPU…
はじめに 32bitアプリの2038年問題回避方法 今回の実験の安直な発想 実験のコード コードの説明 コード(time.c) 実行結果 64bit環境 32bit環境 カーネル挙動を確認する ftrace(trace-cmd)での確認方法 トレース結果 64bitアプリからのカーネルトレース(…
はじめに 2015.12.28追記 アセンブラでシステムコールを呼びだす方法 参考 はじめに 標準Cライブラリ(Linuxではglibc)に頼らず、システムコールを呼びして見たいなとの思いから、勉強がてらアセンブラでシステムコールを呼びだす方法をまとめてみました。 20…
サンプルプログラム 実機確認 32bitプロセスの場合 64bitプロセスの場合 蛇足 32bitプロセスと64bitプロセスで、glibcのtime_t変数のビット数がどう違うのか確認してみました。 サンプルプログラム #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #define sizeof_bits(x) (i</sys/time.h></stdlib.h></stdio.h>…
はじめに ftraceを使うためのセットアップ (1)kenelのリビルド (2)debugfsの/sys/kernel/debugへのマウント (3)trace-cmdのインストール。 trace-cmdを使う 基本的な使い方(trace-cmdからコマンドを実行する) 実行中のプロセスのトレースを取得する はじめに…
(2016/12追記)ubuntu16.04のインストールの話も別記事で書いていますので、そちらも参照下さい。 nopipi.hatenablog.com 1.はじめに MacbookAir3.1(2010年モデル:A1370)に、Ubuntu14.04.3(Trusty Tahr)をインストールしました。結果的には、14.04では基本…
はじめに 先日の下記の記事で「RHEL6ではバックポートされてMemAvailableが使えるよ」という情報を頂いたので、追加で情報を整理しました。 nopipi.hatenablog.com RHEL6.6へのMemAvailableのバックポート MemAvailableは、RHEL6.6でバックポートされてまし…
RHELベースですが、メモリ利用容量/メモリ利用率の評価をどう考えるかということを整理しました。またfreeコマンドとmeminfoの関係について、RHEL7、RHEL6、RHEL5以前のそれぞれのバージョンごとに整理し、それを踏まえたメモリ利用率の計算方法(とawkのサン…
IME設定(デフォルトibus-kkcを入力ソースに追加) IME切替ショートカットの変更(「半角/全角」キーに変更) 忘れないように、自分用のメモ IME設定(デフォルトibus-kkcを入力ソースに追加) Fedora22のデフォルトIMEは、ibus-kkcのようでデフォルトでインストー…
sysctlのカーネルパニックオプション panicの整理 panic系パラメータの関係 それぞれのパラメータの挙動 kernel.panic kernel.panic_on_unrecovered_nmi kernel.unknown_nmi_panic kernel.panic_on_io_nmi kernel.panic_on_warn kernel.softlockup_panic ker…
今までのやり方では展開されない [RHEL7/CentOS7/FC21]initramfsの展開方法 グーグルさんに聞いてみる 手順 バイナリ解析ツールのインストール initramfsの解析と展開 今までのやり方では展開されない 普通、initramfsの中身を展開する場合は、gunzipあたり…
squashfsとは squashfsのファイルシステムの作り方 squashfs用ツールのインストール squashfsファイルシステムの作成 squashfsファイルシステムのマウント fstabで自動マウント 追伸 squashfsとは squashfsとは、圧縮された読み込み専用のファイルシステムで…
/proc/meminfoの統計情報を取得する コマンドで取得する(テストなどの秒間隔での取得) cronで取得する(日/週/月単位のトレンド取得) 取得用のシェル シェルをキックするcron設定 /proc/meminfoの統計情報を取得する Linuxのメモリ挙動を詳しく分析するために…
ファイルシステム上のファイルにキャッシュを解さずread/writeするためには、DirectIOで操作する必要がある。DirectIOを操作するには、 ファイルをオープンする時に、O_DIRECTオプションを付与する read/writeで操作する際のバッファは、512KB(Linux kernel2…
デーモンプロセス起動時の作法 サンプルプログラム デーモンプロセス起動時の作法 デーモンを起動する場合、2度forkするのが作法らしく、これは「セッションリーダにならないようにすることで端末の制御を誤ってしないように」ということらしい。詳しくはこ…