カーネル利用状況とメモリ使用量に着目したLinux Kernel Configの解析手法

書誌事項

タイトル別名
  • A Method of Analyzing the Linux Kernel Configurations Focusing Kernel Usage Statics and Actual Memory Consumptions

抄録

IoT やエッジコンピューティングなどが注目されるにともなって,組み込み機器が高機能化している.これらの組み込み機器において,ネットワークスタックなどの豊富なソフトウェア資産をもつ Linux の活用が拡がっている.一方,Linux は,バージョンアップにともなって肥大化しており,そのメモリ使用量が組み込み機器への導入の障害となっている.Linux Kernel Config の仕組みは,メモリ使用量削減のために使用しない機能を無効化できるが,その設定項目が複雑なため,システムの目的ごとに必要十分な設定を見つけることが難しい.本研究では,Linux カーネルのソースコードからカーネル内の各関数と Linux Kernel Config 項目との対応関係を機械的に抽出し,アプリケーションの動作中にカーネル内関数の呼び出し状況とメモリ使用量を観測することで,アプリケーション実行に影響を与えず,かつ,メモリ使用量削減効果の高い Linux Kernel Config 項目を特定する.piCore ディストリビューション上で Web サーバが動作するシステムへ本手法を適用した結果,Linux Kernel Config の変更により約 6.5 MB のメモリ使用量を削減できた.

The features of embedded devices are becoming more functionalized and complicated, as IoT and edge computing attract attention recently. Linux is being adopted spreadly for these embedded devices since it has abundant software assets such as network stack. However, unfortunately, the memory amount required by Linux could be one of the most obstacles for embedded products because the kernel is bloating at every its version updated. We can disable unused kernel features by specifying in the Linux kernel configuration, but it must be hard to find an enough configuration setting because of lots of complicated configuration items. This research proposes a method to mechanically extract the correspondence between each Linux Kernel Config item and kernel internal functions and to profile the kernel function invocations and actual memory consumption related to each Config item while an application is running. As a result, profiled outputs can help for Linux kernel tinification with finding kernel config items which could be less used and consume large memory. In this paper, we also show an experimental result that indicates a kernel running in a Ras-Pi based embedded system could shrink 6.5MB after applying tinification with the proposed method.

収録刊行物

詳細情報 詳細情報について

  • CRID
    1050011097169810688
  • NII論文ID
    170000178704
  • Web Site
    http://id.nii.ac.jp/1001/00192316/
  • 本文言語コード
    ja
  • 資料種別
    conference paper
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ