Quick Lookにどのファイル形式のジェネレータが登録されているかを調べたいときは、qlmanage -m pluginsを使う。
$ qlmanage -m plugins
plugins:
org.openxmlformats.wordprocessingml.document -> /System/Library/QuickLook/Office.qlgenerator (48)
com.apple.iwork.keynote.sffkey -> /System/Library/QuickLook/iWork.qlgenerator (249)
...
-mに統計の名前を続けると、Quick Lookのサーバーであるquicklookdの情報も表示できる。実行例はmacOS 27.0.1のもの。
指定できる名前
-mの後ろには、次の名前を指定する。
| 名前 | 表示される内容 |
|---|---|
plugins | ジェネレータの一覧 |
server | quicklookdの稼働時間など |
memory | メモリの使用量 |
burst | 直近の連続処理の統計 |
threads | 同時アクセスの統計 |
other | その他の情報 |
名前は複数並べられる。省略すると、server、memory、pluginsが表示される。直近の連続処理がある場合は、last burst:の行も表示される。
$ qlmanage -m
server: living for 1s (0 requests handled) - instant off: yes - arch: ARM64 - user id: 501
memory used: 0 MB (725872 bytes) - used descriptors: 19/256
plugins:
...
表示の順序は、指定した順序によらず固定である。qlmanage -m plugins serverでも、serverが先に表示される。
存在しない名前を指定すると、エラーになる。
$ qlmanage -m bogus
qlmanage: invalid argument bogus
Usage: qlmanage [OPTIONS] path...
...
-mは、-tや-pとは同時に指定できない。qlmanage -t -m server fileはillegal option for t -- mで失敗する。
pluginsでジェネレータの対応表を確認する
pluginsは、コンテンツタイプのUTIと、担当するジェネレータの対応表を表示する。1行が1つのUTIで、括弧内はジェネレータのバージョンである。ジェネレータが読み込み済みの場合は、(48 - loaded)のようにloadedが付く。
com.adobe.pdf -> /System/Library/QuickLook/PDF.qlgenerator (1114)
特定のファイル形式を調べるには、grepで絞り込む。
$ qlmanage -m plugins | grep -E '^ (com.adobe.pdf|public.html) '
com.adobe.pdf -> /System/Library/QuickLook/PDF.qlgenerator (1114)
public.html -> /System/Library/QuickLook/Web.qlgenerator (1114)
ファイルのUTIはmdlsで調べる。
$ mdls -name kMDItemContentType sample.txt
kMDItemContentType = "public.plain-text"
一覧に載らないUTIもある。public.pngやpublic.jpegは、pluginsに表示されない。
ジェネレータごとの件数を集計する
sedやsortで、ジェネレータごとに担当するUTIの数を数えられる。
$ qlmanage -m plugins | grep -- '->' | sed 's/.*-> //;s/ (.*//' | sort | uniq -c | sort -rn | head -n 5
23 /System/Library/QuickLook/Office.qlgenerator
16 /System/Library/QuickLook/iWork.qlgenerator
7 /System/Library/QuickLook/Text.qlgenerator
5 /System/Library/QuickLook/iCal.qlgenerator
4 /System/Library/QuickLook/Web.qlgenerator
この環境では79件のUTIが登録されており、19種類のジェネレータが担当している。
-cと-gでコンテンツタイプとジェネレータを指定するときは、この一覧で選ぶ。
参考: 【qlmanage】コンテンツタイプとジェネレータを指定してサムネイルを生成する (-c, -g)
serverでquicklookdの稼働時間を確認する
serverは、quicklookdの稼働時間、処理したリクエストの数、アーキテクチャ、実行ユーザーのIDを表示する。
$ qlmanage -m server
server: living for 8s (0 requests handled) - instant off: yes - arch: ARM64 - user id: 501
living forの値は、実行するたびに増える。
requests handledは、-tでサムネイルを生成しても増えない。200個のテキストファイルを-t -xで生成した直後に実行しても、値は0のままだった。
$ qlmanage -t -x -z *.txt | tail -n 2
Thumbnails produced: 200
Duration: 1.1792 seconds (average 0.00589602 seconds per file)
$ qlmanage -m server
server: living for 16s (0 requests handled) - instant off: yes - arch: ARM64 - user id: 501
-p -xでdocxのプレビューを生成すると、リクエストとして数えられる。
$ qlmanage -p -x -o out s.docx > /dev/null
$ qlmanage -m server
server: living for 0s (1 requests handled) - instant off: yes - arch: ARM64 - user id: 501
memoryでメモリの使用量を確認する
memoryは、メモリの使用量とファイルディスクリプタの使用数を表示する。
$ qlmanage -m memory
memory used: 0 MB (458032 bytes) - used descriptors: 19/256
19/256は、使用中のファイルディスクリプタが19個で、上限が256個であることを表す。
burst、threads、otherを確認する
burstは直近の連続処理の統計である。処理がない状態ではnoneになる。
$ qlmanage -m burst
last burst: none
-p -xでdocxのプレビューを生成した後は、リクエストの数と所要時間が表示される。
$ qlmanage -p -x -o out s.docx > /dev/null
$ qlmanage -m burst
last burst: during 0.091s - 1 requests - 0.000s idle
threadsは、同時に処理したリクエストの数である。この環境では、確認した範囲で0 threadsのままだった。
$ qlmanage -m threads
max concurrent requests: 0 threads (0 threads current)
otherは、空行だけを出力する。
サムネイルの生成状況を調べたいときは、-zで所要時間を測る。
参考: 【qlmanage】サムネイルの生成にかかる時間を測る (-z)
