blog.monophile.net

コンピュータのこととかのメモ。

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS] においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

work

各種システム構築と管理を承ります。

Cloud PlatformOpenstack, GCP, AWS, Azure, ...
Openstackkeystone, glance, cinder, swift, neutron, nova, ...
VirtualizationQEMU+KVM, LXD/LXC, Docker, ...
OSDebian GNU/Linux, Ubuntu, CentOS, ...
NetworksIPSec, L2TP, VXLAN, WirelessAP, ...
WebAppsWordPress, GitLab, Redmine, ...
Configuration ManagementAnsible, Terraform, ...
MonitoringNagios, Munin, ...

posts

Mac OS X でspindumpをオフにする

概要

MacBookPro Late 2011を使っているが、 メモリが圧迫されているので要らない機能をオフにする。 今回はOS Xのソフトウェアのデバッグ用の機能であるspindumpをオフにしてみた。

spindumpは実行中のアプリケーションの低レイヤ情報を書き出すためのソフトウェアだが、 得られる情報は一般的な利用目的(ソフトウェア開発以外)では役に立たないことが多いと思う。

System Integrity Protecton(SIP)を無効にする (El Capitan以降のみ)

El Capitan以降のMacOSでSystem Integrity Protecton(SIP)が有効になっている場合は、 無効にしないとspindumpの設定はできないらしい。

  1. Macの電源を切る。
  2. Command+Rを押しながら、起動することでリカバリモードで起動する。
  3. Terminal.appを起動し “csrutil disable” と打つ。
  4. 再起動する。

状態の確認

値がfalseなら自動起動が有効になっていて、trueなら無効です。

自動起動が有効の場合

$ launchctl print-disabled system | grep -w spindump
  "com.apple.spindump" => false

自動起動が無効の場合

$ launchctl print-disabled system | grep -w spindump
  "com.apple.spindump" => true

spindumpを停止する

$ sudo launchctl stop com.apple.spindump

spindumpを開始する

$ sudo launchctl start com.apple.spindump

spindumpの自動起動を無効にする

$ sudo launchctl disable system/com.apple.spindump

spindumpの自動起動を有効にする

$ sudo launchctl enable system/com.apple.spindump

備考

公式のドキュメントをみるとload, unloadなどのコマンドはlegacyな扱いになっている。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist

サービスの設定値は↓で確認できる。

$ launchctl print system/com.apple.spindump | head
com.apple.spindump = {
  active count = 0
  path = /System/Library/LaunchDaemons/com.apple.spindump.plist
  state = waiting

  program = /usr/sbin/spindump
  arguments = {
    /usr/sbin/spindump
  }

参考