コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2018年1月28日 >>> 2018年1月19日
link もっと後

2018年1月28日

LinuxのCMAとTHPその3

目次: Android

半年くらい前(2017年9月30日の日記参照)にCMAを調べたときはわからなかった問題が一つ解決しました。

  • THPがCMAを使い切っちゃう問題
  • ユーザプロセスがCMA全然使わない問題
  • 誰が使ってるのこれ?問題

悩みはこの3つで、1つ目はほぼ解決(THPを使わない)していて、2つ目は未だに良くわからないままです。今回は3つ目の問題が解消しました。

実はみんな使ってたCMA

前回の調査では/proc/meminfoを調べていて、CmaFreeの項目がなかったため、誰もCMAを使っていないのではないかと思っていました。

ZenFone 3 Deluxeの /proc/meminfo
MemTotal:        3687912 kB
MemFree:          380032 kB
MemAvailable:    1527068 kB
Buffers:           51344 kB
Cached:          1137352 kB
SwapCached:         5848 kB
Active:          1483616 kB
Inactive:         784324 kB
Active(anon):     897704 kB
Inactive(anon):   203852 kB
Active(file):     585912 kB
Inactive(file):   580472 kB
Unevictable:        3632 kB
Mlocked:            3632 kB
SwapTotal:        524284 kB
SwapFree:          70164 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:       1080040 kB
Mapped:           587568 kB
Shmem:             22300 kB
Slab:             210492 kB
SReclaimable:      79676 kB
SUnreclaim:       130816 kB
KernelStack:       39184 kB
PageTables:        43764 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2368240 kB
Committed_AS:   71185752 kB
VmallocTotal:   258998208 kB
VmallocUsed:      157168 kB
VmallocChunk:   258691972 kB
★★CmaTotalやCmaFreeが無いのに…★★

ふと/proc/pagetypeinfoを見たところCMAの項目が出ました。meminfoには出ないのにpagetypeinfoには出てくるの??

ZenFone 3 Deluxeの /proc/pagetypeinfo
Page block order: 10
Pages per block:  1024

Free pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10
Node    0, zone      DMA, type    Unmovable  53146  18233    851      1      0      0      0      0      0      0      0
Node    0, zone      DMA, type  Reclaimable   1938    120      9      3      0      0      0      0      0      0      0
Node    0, zone      DMA, type      Movable    195     17     12      3      0      0      0      0      0      0      0
Node    0, zone      DMA, type          CMA      0      0      0      0      0      0      0      0      0      0      0
Node    0, zone      DMA, type      Reserve      0      1     16      0      0      0      0      0      0      0      0
Node    0, zone      DMA, type      Isolate      0      0      0      0      0      0      0      0      0      0      0

Number of blocks type     Unmovable  Reclaimable      Movable          CMA      Reserve      Isolate
Node 0, zone      DMA          539           35          298           51            2            0
★★MIGRATE_CMAがカウントされている★★

他の機種を見てもmeminfoにはCMAの項目はなくpagetypeinfoにCMAの項目が出ていました。なぜmeminfoに表示されないのかわかりませんが、理由は後で考えるとして、一番下に出てくるNumber of blocksが知りたかった情報です。

行がZoneを表します。ZenFoneはZone DMAしかありません。機種によってはZone DMAとZone Normalの2本立てになっていることもあります。

列がMIGRATE_TYPEです。数値の単位はページでは無くブロックです。ブロックはpagetypeinfoの先頭に「Pages per block: 1024」とある通り、1ブロック=1024ページです。ARMは1ページ4KBなので1ブロックは4MBになります。1ブロックのページ数はカーネルコンフィグによって変わりますので、どの機種でも常に4MBではないことに注意です。

CMAの利用量

さてZenFone 3 Deluxe ZS550KLというかQualcomm Snapdragon 625のシステム構成という方が近いかもしれませんが…、Linuxが管理している全体のブロック数は925ブロック(3788800KB)で、CMAは51ブロック(208896KB)のようです。

物理的に搭載されているRAMが4GBらしいのでLinuxの管理外となっている領域は、4194304 - 3788800 = 405504KBだと思われます。かなり大きいです。もしかするとデコード/エンコード用の領域はこちらから取っているのかもしれません。

またmeminfoによればMemTotalが3687912KBですので、Linux管理内だけど使うことができないReserved領域は、3788800 - 3687912 = 100888KBだと思われます。内訳はわかりませんが、多くも少なくもないと思います。たぶん。

1. 物理搭載メモリ 4194304KB
2. Linux管理内 3788800KB
3. Linux管理外(1. - 2.) 405504KB
4. MemTotal 3687912KB
5. Reserved領域(2. - 4.) 100888KB

私の推測としてはCMA領域(204MB)では4K動画をデコード/エンコードするには足りなさそうなので、Linux管理外の領域を使っているんだろうなーと思います。

meminfoとCMAの謎

どうしてpagetypeinfoにはCMAの項目があって、meminfoにはCMAの項目がないのか?カーネルのコードを見る限りCONFIG_CMAが有効になっていたら必ずmeminfoに項目が出るはずなのに、出てこない理由が良くわかりません。

手持ちのAndroid機器を見ていたら、カーネルバージョンがやたら古いことに気づきました。Android機器ってほとんどLinux 3.18とか3.10とか…、とかく3.x系のバージョンが多くないですか?

ああ、これまさか、古いバージョンのカーネルだとmeminfoにCMAの項目が出ないのか??と思って、3.x系のカーネルのコードを見ると、meminfoにCMAが表示されるようになったのが3.19以降であることがわかりました。

道理でmeminfoにCMAの項目が出ない訳ですよ。こんな単純なことに気づかなかったとは……orz

編集者:すずき(2023/09/24 08:50)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年1月27日

Android TV

ピクセラの4K対応Android TV KSTB5043(メーカーのサイト)を買いました。Amazonで13,000円くらいです。

この製品はAmlogic S905というSoCを採用しているようです。CPUはCortex A53 x 4、メモリは2GBです。AmlogicのSoCはSTB(セットトップボックス)に良く採用されていますね。

Androidのバージョンは7.0(買った時点では)でした。STBはAndroid 6系の製品も多い中、7なんですね。まあ、7だと何が嬉しい?と言われると、特に思いつかないですけど…。

使ってみた

とても素直なAndroid TVという感触です。メニューは恐らく何も改造されていません。Androidのメーカー独自改造って何がどこにあるのかわからなくてあまり好きでは無いので、この点は好感触です。

GoogleストアやPlay(動画サービス)も、動きがスムーズです。ストアだけちょっとスクロールが引っかかりますが、特に支障はありません。

リモコンがBluetooth接続のため、赤外線のリモコンと異なり、本体に向けなくても操作可能です。お行儀は悪いですが布団を肩まで掛けて、手を布団の中に入れたまま、リモコンで操作できます。良い感じ。

リモコンを特定の方向に向ける必要が無いことも、操作すべきはテレビの下にあるSTBであってテレビは一切関係ないことも、頭ではわかっていますが、ついつい「テレビ」にリモコンを向けて操作してしまうのは、オールドタイプの悲しい性です……。

4K対応の実力

メディア再生機器としても優秀です。H.265/4K60pは余裕です。H.264/4K60pはデコード性能が足りず、スローになり音と同期がズレていきます。

あえて意地悪な動画を再生しましたが、H.264で4K60pは珍しい部類でしょう。もしお持ちの方はH.265に再エンコードした方が良いかもしれません。サイズも半分で済みますし。

まあ、我が家のテレビは4Kに対応していないので、4K動画の再生ができても映すテレビが無いんですけど…。

困った点

Chromecast built-inが搭載されていますが、スピナー(クルクルするアイコン)が出たまま固まってしまい、イマイチです。何度かやり直せば動くのですが、固まることも多いです。

最近、調子の悪い初代Google Chromecastを(2018年1月26日の日記参照)置き換えようと思っていたので、ちょっと残念ですね。

編集者:すずき(2018/02/04 03:15)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年1月26日

不調のChromecast

購入以来(2014年6月26日の日記参照)我が家で活躍している、第一世代Chromecastですが、最近YouTubeの動画再生でカクつきが目立つようになってきました。

特にひどいのは再生開始直後で、画はガクガクで、音も途切れブツブツなっています。ネットワークのせいかもしれませんが、スマホで見ると別に問題ないですし、デコード性能不足もありそうです。

第二世代4K対応のChromecast Ultraが出て久しいですし、むしろ5,000円程度の機器が4年以上も頑張れることに、逆に驚きを感じます。

編集者:すずき(2018/02/04 02:58)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2018年1月28日 >>> 2018年1月19日
link もっと後

管理用メニュー

link 記事を新規作成

<2018>
<<<01>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント5件

  • link 24年4月22日
    hdkさん (04/24 08:36)
    「うちのHHFZ4310は15年突破しまし...」
  • link 24年4月22日
    すずきさん (04/24 00:37)
    「ちゃんと数えてないですけど蛍光管が10年...」
  • link 24年4月22日
    hdkさん (04/23 20:52)
    「おお... うちのHHFZ4310より後...」
  • link 20年6月19日
    すずきさん (04/06 22:54)
    「ディレクトリを予め作成しておけば良いです...」
  • link 20年6月19日
    斎藤さん (04/06 16:25)
    「「Preferencesというメニューか...」

最近の記事20件

  • link 24年2月7日
    すずき (04/24 02:52)
    「[複数の音声ファイルのラウドネスを統一したい] PCやデジタル音楽プレーヤーで音楽を聞いていると、曲によって音量の大小が激しく...」
  • link 24年4月22日
    すずき (04/23 20:13)
    「[仕事部屋の照明が壊れた] いきなり仕事部屋のシーリングライトが消えました。蛍光管の寿命にしては去年(2022年10月19日の...」
  • link 24年4月17日
    すずき (04/18 22:44)
    「[VSCodeとMarkdownとPlantUMLのローカルサーバー] 目次: LinuxVSCodeのPlantUML Ex...」
  • link 23年4月10日
    すずき (04/18 22:30)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linuxのstruct pageって何?Linu...」
  • link 20年2月22日
    すずき (04/17 02:22)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
  • link 24年4月16日
    すずき (04/17 02:05)
    「[Zephyr SDKのhosttoolsは移動してはいけない、その2 - インストール時のバイナリ書き換え] 目次: Zep...」
  • link 24年4月15日
    すずき (04/17 01:47)
    「[Zephyr SDKのhosttoolsは移動してはいけない、その1 - 移動させると動かなくなる] 目次: ZephyrZ...」
  • link 24年4月11日
    すずき (04/17 00:37)
    「[VScodeとAsciiDocとKrokiローカルサーバー] 目次: LinuxAsciiDoc ExtensionはAsc...」
  • link 24年4月12日
    すずき (04/16 00:12)
    「[台湾東部沖地震に寄付] ささやかではありますが台湾東部沖地震に寄付しました。日本の赤十字社→台湾の赤十字(正式名称...」
  • link 22年9月3日
    すずき (04/16 00:08)
    「[MarkDownのその向こう] 目次: Linux簡単なドキュメントやメモはMarkDownで書くことが多いですが、気合を入...」
  • link 22年9月4日
    すずき (04/16 00:08)
    「[Asciidocをさらに活用] 目次: Linux前回(2022年9月3日の日記参照)、Asciidocのプレビュー環境の設...」
  • link 24年3月19日
    すずき (04/16 00:07)
    「[モジュラージャックの規格] 目次: Arduino古くは電話線で、今だとEthernetで良く見かけるモジュラージャックとい...」
  • link 23年6月2日
    すずき (04/16 00:07)
    「[Arduino - まとめリンク] 目次: Arduino一覧が欲しくなったので作りました。 M5Stackとesp32とA...」
  • link 24年4月9日
    すずき (04/12 12:44)
    「[初めて作ったボード動作せず(手で直した)] 目次: Arduino以前(2024年3月24日の日記参照)発注して、全く動ない...」
  • link 24年4月2日
    すずき (04/12 11:00)
    「[KiCadが動かなくなったのでビルド] 目次: ArduinoDebian Testingなマシンをapt-get upgr...」
  • link 24年4月3日
    すずき (04/12 11:00)
    「[初めて作ったボード動作せず(燃えた)] 目次: Arduino以前(2024年3月24日の日記参照)発注したPCBが届いたの...」
  • link 24年3月24日
    すずき (04/12 11:00)
    「[PCBを設計して注文] 目次: Arduinoシューティングの練習でいつもお世話になっているTARGET-1秋葉原店に、6つ...」
  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月18日
    すずき (03/19 11:47)
    「[画面のブランクを無効にする] 目次: LinuxROCK 3 model CのDebian bullseyeイメージは10分...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 04/24 08:36