my_knowledge.ko

Linux | Debug, Analyze, Trace | Tech | etc...

2020-01-01から1年間の記事一覧

Linux 仮想マシンの Hypervisor を手っ取り早く確認する方法

今まで Linux 仮想マシンの Hypervisor を確認する (Hypervisor を使っているかどうかの確認) 方法として、dmidecode コマンドを使っていたが、より簡単に確認する方法を知ったのでメモ。 手順 KVM の表示例 物理環境の表示例 おまけ 参考 手順 次のように仮…

任意の Linux コマンドに紐づく debuginfo パッケージを確認する方法

本記事は、次の記事との関連になります。 【RHEL, CentOS, Fedora】Linux コマンドのデバッグ方法 - AWESOME LINUX WORLD この記事で紹介されているよりも簡単に、コマンドの debuginfo パッケージを確認する方法がありました。 別記事の調査中 (執筆中) に…

/proc/[pid]/stack でプロセスの待ち状態を確認する

プロセスの待ち状態は ps コマンドで確認できるが、これだけだと詳細は分からない。 詳細を知るには /proc/[pid]/stack が有効。今回はこれについてのメモ。 ■ /proc/[pid]/stack とは 表示例 ■ 待ち状態のプロセスを確認する ソースコードを確認する ■ /pro…

読了時間を表示させる

本ブログに読了時間を表示させる機能を加えました。 以下、メモ ■ 設定方法 ■ コード改変 ■ 実際の画面 ■ 設定方法 次のブログを参考に設定。 randamlife.hatenablog.com ■ コード改変 次のように自分好みに修正 (コードはあまり整備していないので、少し汚…

Linux シグナルの基本と仕組み (カーネル v5.5 時点)

この記事は、Linux シグナルの基本と仕組み (カーネルでの実装) について調査したことのまとめです。 シグナルは普段から利用しているものの仕組みについては理解してなかったので、カーネル勉強の題材として調べてみました。想像以上に複雑でボリュームがあ…

本ブログの方針、ブログを始めた経緯など (実質の初投稿)

はじめに 本ブログの方針 Qiita との並行運用 本ブログを始めた経緯 もう少し自由に書く場所がほしかった トップページ (Qiita のマイページ) をカスタマイズしたかった Qiita では自分の記事が探しにくい 保険として おわりに はじめに これより前の日付で…

Linux メモリ断片化 (外部フラグメンテーション) の概要と解消方法

記事概要 要約 物理メモリ領域について 断片化とは 断片化のレベル 断片化のレベル ( その2 ) 断片化を解消する術 OS を再起動する OS を再起動しない方法 何もしない compact_memory の効果 さいごに 参考 記事概要 Linux OS におけるメモリ断片化 1 ( 以降…

Magic SysRq Key 調査

はじめに 使い方と機能を知る 使い方と機能の要約 基本的な使い方 機能(コマンド)一覧 有効なコマンドの制御 動作確認 有効なコマンドの確認 無効なコマンドの確認 複数コマンドの有効化の確認 使いどころ カーネル実装を読む 処理の全体像 proc_reg_write w…

カーネルクラッシュダンプの解析方法 (crash コマンド)

はじめに 解析環境を整える クラッシュダンプ カーネルのデバッグ情報 crash コマンド クラッシュダンプを解析する mod -S でモジュール情報を読み込む log から状況を把握する bt でバックトレースを確認する dis で関数の中身を確認する その他、トピック…

カーネルクラッシュダンプ (Kdump) の概要と設定方法

はじめに カーネルクラッシュダンプとは Kdump とは システムカーネルとは ダンプキャプチャカーネルとは クラッシュダンプ取得の流れ (ざっくり) Kdump の設定方法 Red Hat 7 系 Linux では Kdump が有効かどうかは Kdump を無効化していた場合には 4. ちな…

Linux でも使えるコピペツール「CopyQ」の紹介

はじめに CopyQ とは 基本的な使い方 CopyQ の機能 多言語対応 定型文の登録が可能 ショートカットキーでツールの画面を呼び出せる コマンドの実行結果をそのまま履歴として保存可能 その他の機能 インストール方法、公式ページなど... はじめに CopyQ とい…

Vim で Linux カーネルソースを快適に読むための設定方法

はじめに 設定 できるようになること 指定した関数の定義元へジャンプ 指定した関数の呼び出し元へジャンプ 指定した関数内で使用している関数の一覧を確認 :cs f <クエリパターン> <キーワード> について より快適にするには はじめに vim で Linux カーネ…

Linux カーネルのソースコードを読む方法

はじめに ソースコードを読む方法 ローカルマシンに落としてから読む ブラウザ上から読む おわりに あわせて読みたい はじめに 本稿では、Linux カーネル (アップストリーム1) のソースコードを読む方法についてご紹介します。初学者向けの内容であり、カー…

【RHEL, CentOS, Fedora】Linux コマンドのデバッグ方法

はじめに 検証環境 デバッグシンボルの取得方法 事前準備 デバッグシンボル取得手順 はじめに 本稿では、RHEL、CentOS、Fedora といった RedHat 系 Linux のコマンドをデバッグする方法を記載しています。 一例として、free のパッケージである procps-ng の…

【RHEL, CentOS, Fedora】Linux コマンドのソースコード取得方法

はじめに 検証環境 ソースコードの取得方法 事前準備 手順 はじめに 本稿では、RHEL、CentOS、Fedora といった RedHat 系 Linux のコマンドに紐づくソースコードを取得するための方法を記載しています。 一例として、dmesg のパッケージである util-linux の…

Python の CUI デバッガ「PuDB」の紹介

はじめに インストール 基本的な使い方 実際の操作画面 デバッガ起動後の画面 文字列検索 条件付きブレイクポイントの設定 補足 はじめに 今回は Python デバッガである「PuDB」のご紹介です。 PuDB とは、軽量さと機能性を兼ね備えた CUI ベースの Python …

top コマンドでよく使う or 便利そうな機能

はじめに ヘルプ ( h or ? ) 文字列検索 ( L ) ユーザ毎に監視 ( u ) プロセスを終了させる ( k ) コマンドを詳細に表示 ( c ) ソート関連 ( <, >, P, M, R ) CPU、メモリ、スワップの使用率を視覚的に表示 ( t, m ) CPU コア毎の情報を表示 ( 1 ) プロセス…

Kivy 日本語表示の設定方法

Kivy はデフォルト設定だと日本語が正常に表示されません。 ※ この記事を書いたのは、2017/04/29 です。少し古いかもしれません。 設定方法 設定方法 日本語フォントをダウンロードします(http://ipafont.ipa.go.jp/node26#jp) Kivy 側の main.py に次のよう…

Linux 仮想コンソールの切り替え方法

はじめに 仮想コンソールとは 切り替え方法 はじめに 以降、Linux 環境を想定しています。また、動作確認は、RHEL 7.4 環境で行いました。その他のディストリビューションで動作するかは未確認です(問題ないとは思いますが)。 仮想コンソールとは 仮想コンソ…