「secd」プロセスとは何ですか?


19

secdOSX Yosemiteではどのプロセスが行われるのだろうか。私はこのプロセスを以前のMacOSバージョンで実行しているのを見たことはかなりありますが、すべての利用可能なメモリを大胆に飲み込んだことを覚えていません...

Yosemiteを実行している3台のコンピューターがあり、それぞれに異なる構成があります。3つすべてが3日間から1週間の期間にわたって稼働しています。secd達成したことの概要は次のとおりです。

  • 4GBのメモリを搭載したMacBookAir 2011では、700MB secd
  • 6GBのメモリを搭載したiMac 2008では、2GBが secd
  • 12GBのメモリを搭載したiMac 2011では、4GB secd

3台すべてのコンピューターでsecdは、メモリ内で最大のプロセス(より大きいkernel task)であり、ヨセミテの到来で最近経験した速度低下の役割を果たしていると思います。プロセスがメモリ内で異常なサイズに拡張し、他の場所で必要になったときにメモリが解放されることは確かです。唯一の問題は、メモリの解放がそれほど速くなく、ほとんどの場合、プロセスが退却する必要があると認識する前にパフォーマンスが低下することです。

Webを検索したところ、プロセスが何であり、なぜそれがそんなに巨大なはずなのかについて、確固たる結論に達しませんでした。これを経験しているのは私だけではないでしょう。どんなヒントでも大歓迎です。

以下に示すsecdように、Appleキーチェーンに関係しています。(MacBookAirで)アクティブなときにプロセスが開いたままにするファイルとポートは次のとおりです。

/
/usr/libexec/secd
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-shm
/usr/share/icu/icudt53l.dat
/usr/lib/dyld
/private/var/run/diagnosticd/dyld_shared_cache_x86_64
/dev/null
/dev/null
/dev/null
count=2, state=0x2
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-shm
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal
/dev/random
/dev/random
/private/var/folders/z_/806bzc396cxgp4s0q17tpfwc0000gn/T/etilqs_y5BDgkbGkBV9ybF
/private/var/folders/z_/806bzc396cxgp4s0q17tpfwc0000gn/T/etilqs_Aw6Q7JhPlil3QNX
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal

明らかではないのは、プロセスが占有するすべてのメモリに対してプロセスが何をするか、そしてそれがなぜそんなに膨張するかです。


2
あなたの記憶は正しいです。secdマーベリックスで実行されます。迅速な分析では、このデーモンは文書化されていません。これは悪いことです。これはがらくたの一部かもしれません。このデーモンはにあり/usr/libexec/secdます。
ダン14

@danielAzuelos Mavericksで同じがん行動を示していますか?
レトロ

2
Plistによると、secdはローカルキーチェーンではなくクラウドキーチェーンの管理に使用されます。
ラスケ14

2
発見されたばかり:secd実行せずに、Messagesは毎回パスワードを要求します。
興味深いことに、14

1
→Mah:Maveriskcではsecd、VSZ = 2.4 GB、RSS = 3 MBです。secd5日間から稼働しているシステムで84秒間実行しました。
ダン14

回答:


20

明らかでない場合、これは単なる推測です。しかし、うまくいけば、それはあなたにいくつかのリードを与える。

最初に、プログラム名から理解できることを次に示します。このコマンドを実行する場合/bin/ls /usr/libexec | sort -f | egrep '.*d$'(これは内のすべてのファイルの印刷/usr/libexecで終わるをd)、あなたは見つけることができますftpdhiddnetworkdsystemstatsd、およびで終わる多くのプログラムd。「d」は「デーモン」の略で、基本的には常にバックグラウンドで実行されるヘルパープロセスを意味します。sec非常に可能性の高い「セキュリティ」の略です。だから、secd「セキュリティ・デーモン」です。これは、キーチェーンなどで動作するように見えると言ったので理にかなっています。

デーモンのポイントは何ですか?一部のデーモンは、継続的なタスクを実行するために実行を続けます。hidd(「ヒューマンインターフェイスデバイスデーモン」)は、たとえば、マウス/キーボード/トラックパッドの入力を処理するプロセスです。他のいくつかのデーモンは、他の多くのプログラムが必要とするいくつかの一般的なタスクを実行します。アプリは、デーモンに自分でコードを実行する代わりに、何かを実行するようにデーモンに指示できます。だからsecdおそらくこのようなことをしますが、キーチェーンに関連しています。

しかし、正確には何ですか?secdLaunchAgent を無効にした後もキーチェーンを使用できたため、実際にはキーチェーンの通常の使用を処理していないようです。

LaunchAgentを調べると、手がかりが得られます。

secdはキーチェーンとiCloudの同期を担当しているように見えますか?

それで、あなたは何をすべきですか?次の1つ以上を試してください。

  1. iCloudキーチェーンの同期が不要な場合は、iCloud環境設定でオフにします。
  2. 使用launchctlを無効SECDに悪影響は何も影響を与えていないようならば。
  3. iCloudキーチェーンの同期が必要な場合は、大量のキーチェーンアイテムがあるかどうかを確認し、不要なアイテムを削除します。
  4. 古いキーチェーンに不要なアーティファクトが残っている場合に備えて、おそらくキーチェーンを再構築する(新しいキーチェーンを作成し、必要なアイテムをその中に移動し、古いキーチェーンの上に移動する)。

これは素晴らしい詳細です。ステップ2にはアスタリスクが必要です-Appleは通常これにいくつかの新機能を追加し、それが発生するとMacが壊れるので、これを無効にしたことに注意してください。システムデーモン。
bmike

繰り返しますが、これはよく文書化されていないデーモンだけでなく、あらゆるデーモンをリバースエンジニアリングする方法を説明する素晴らしい回答です。
bmike

5

プログラム/ usr / libexec / secdはOS Xの一部として出荷されており、通常のセキュリティプロセスです。ドキュメントには、「プロセスのランタイムセキュリティポリシー」に関連していると書かれています。次のコマンドを使用して、関連するプロセスを検査できます。ps -ef|grep sec[iud]

私のMacでは、私はユーザー501であるため、ログインしている1人のユーザーの出力は次のようになります。

Mac:~ bmike$ ps -ef|grep sec[iud]
    0    58     1   0 Sat12PM ??         0:56.51 /usr/sbin/securityd -i
    0   117     1   0 Sat12PM ??         0:00.15 /usr/libexec/secinitd
    0   171     1   0 Sat12PM ??         0:02.24 /usr/libexec/securityd_service
  501   205     1   0 Sat12PM ??         0:11.74 /usr/libexec/secinitd
  501  2634     1   0 Tue08PM ??         0:08.26 /usr/libexec/secd

ログインすると、securitydルート(PID 58)として開始され、次にユーザー(PID 205)プロセスとして開始されることがわかります。実際にsecdは「作業」が実行され、ログアウトおよびログインしなくても再スポーンできます。なぜ余分なリソースを使用しているのかを理解するには、fsusageプロセスの実行やログファイルの確認を行うコマンドやその他のコマンドを掘り下げることなく非常に困難です。最善の策は、Appleにバグを報告してから、特に再起動後にバグを再現できる場合は、バグを誤動作させる方法を文書化することです。

以下のための「manページ」は現在ありませんsecdとに1つのsecinitd最高の状態で乏しいですが。Appleに対してドキュメントのバグを提出することは、ドキュメントの不足を改善するよう求める1つの方法です。


3

私がそのプロセスについて知っていることから(これは本当にトンではありません)、それはMacのキーチェーンと関係があるということです。できることは、アクティビティモニターで見つけてCmd + Iをクリックし、それに関する情報を取得することです。

1つのヒントは、Spotlightのキーチェーンアクセスに移動してキーチェーン応急処置を実行し、「キーチェーンアクセス」メニューを開き、そこから「キーチェーン応急処置」オプションを選択して指示に従うことです。

ヒントが機能することを願っています!


Keychain First Aidは、私のキーチェーンは大丈夫だと言っています!3台すべてのコンピューター。
レトロ

El Capitanには(少なくとも、以前のバージョンにも存在する可能性がある)Keychain Access-Preferences to Reset My Default Kechainにオプションがあります。「工場出荷時のデフォルトに戻し、新しい空の「ログイン」キーチェーンを作成します。現在のデフォルトキーチェーンは移動しないで、削除しないでください」。これを行うとすぐに、securityd_serviceはCPUの51-53%から0-1.5%になりました。するとすぐに、iCloudに再サインインする必要があります。他の影響をまだ発見していません。
オスカーオースティーン

1
MavericksからSierraにアップグレードしたところ、提案どおりにキーチェーンをリセットした後、secd CPUがほぼ100%になったことがわかりました。保存したWebサイトのパスワードをすべて失い、カレンダー同期に再ログインする必要がありましたが、少なくともコンピューターを再度使用できます。ありがとう。
ウォルターニッセン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.