Quá trình của Sec secd là gì?


19

Tôi tự hỏi secdquá trình nào làm theo OSX Yosemite. Tôi khá chắc chắn rằng tôi đã thấy quá trình này chạy trong các phiên bản MacOS trước đó, nhưng tôi không nhớ nó đã ngấu nghiến tất cả bộ nhớ có sẵn rất táo bạo ...

Tôi có ba máy tính chạy Yosemite, mỗi máy có một cấu hình khác nhau. Cả ba đã tăng trong thời gian từ ba ngày đến một tuần. Dưới đây là một kết quả của những gì secdđã đạt được:

  • Trên MacBookAir 2011 với 4GB bộ nhớ, 700 MB được phân bổ cho secd
  • Trên iMac 2008 với 6GB bộ nhớ, 2GB được phân bổ cho secd
  • Trên iMac 2011 với bộ nhớ 12GB, 4GB được phân bổ cho secd

Trên cả ba máy tính secdlà quá trình lớn nhất trong bộ nhớ (lớn hơn kernel task) và tôi nghi ngờ nó đóng một vai trò trong sự chậm chạp mà tôi đã trải qua gần đây với sự xuất hiện của Yosemite. Tôi biết chắc chắn rằng quá trình mở rộng trong bộ nhớ thành các kích thước không phù hợp và giải phóng bộ nhớ khi tôi cần nó ở một nơi khác. Vấn đề duy nhất là nó không nhanh trong việc giải phóng bộ nhớ và hầu hết thời gian thực hiện bị ảnh hưởng trước khi quá trình nhận ra nó phải rút lui.

Tìm kiếm của tôi trên web đã không đi đến kết luận chắc chắn về quy trình là gì và tại sao nó lại quá lớn. Tôi đoán tôi không phải là người duy nhất trải nghiệm điều này. Bất kỳ lời khuyên được đánh giá cao.

Như đề xuất dưới đây secdphải làm với Apple Keychain. Dưới đây là các tệp và cổng mà quy trình tiếp tục mở khi hoạt động (trên 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

Điều không rõ ràng là những gì quá trình làm cho tất cả bộ nhớ mà nó chiếm giữ, và tại sao nó lại tăng quá nhiều.


2
Trí nhớ của bạn là đúng. secdchạy trên Mavericks. Về phân tích nhanh, trình nền này không được ghi lại, điều này thật tệ, đây có thể là một phần của crapware. Daemon này là trong /usr/libexec/secd.
dan

@danielAzuelos Nó có cho thấy hành vi ung thư tương tự trên Mavericks không?
retrography

2
Theo Plist secd được sử dụng để quản lý móc khóa đám mây chứ không phải cục bộ.
Ruskes

2
Chỉ cần phát hiện ra: Không secdchạy, Tin nhắn yêu cầu tôi nhập mật khẩu mỗi lần.
thú vị khác

1
→ Mah: trên Maveriskc, secdcó VSZ = 2,4 GB và RSS = 3 MB. secdđã chạy trong 84 giây trên một hệ thống hoạt động được 5 ngày.
dan

Câu trả lời:


20

Nếu nó không rõ ràng, đây chỉ là một phỏng đoán. Nhưng hy vọng nó cung cấp cho bạn một số khách hàng tiềm năng.

Đầu tiên, đây là những gì bạn có thể tìm ra chỉ từ tên chương trình. Nếu bạn chạy lệnh /bin/ls /usr/libexec | sort -f | egrep '.*d$'(điều này in tất cả các file trong /usr/libexectận cùng bằng d), bạn sẽ tìm thấy ftpd, hidd, networkd, systemstatsd, và nhiều chương trình kết thúc bằng d. "D" là viết tắt của "daemon", về cơ bản có nghĩa là một quá trình trợ giúp luôn chạy trong nền. Các secrất có thể là viết tắt của "an ninh". Vậy secdlà "daemon bảo mật". Điều này có ý nghĩa bởi vì bạn nói có vẻ như nó hoạt động với công cụ móc khóa.

Điểm của daemon là gì? Một số daemon vẫn chạy để thực hiện một số nhiệm vụ đang diễn ra. hidd("daemon thiết bị giao diện con người"), ví dụ, là quá trình chịu trách nhiệm xử lý đầu vào chuột / bàn phím / bàn di chuột. Một số trình nền khác thực hiện một số tác vụ phổ biến mà nhiều chương trình khác cần. Các ứng dụng có thể chỉ cần yêu cầu daemon làm một cái gì đó thay vì có mã để tự làm. Vì vậy, secdcó lẽ làm một cái gì đó như thế này, nhưng liên quan đến móc khóa.

Nhưng chính xác thì sao? Có vẻ như nó không thực sự xử lý việc sử dụng móc khóa thông thường, vì tôi vẫn có thể sử dụng móc khóa sau khi tôi tắt secdLaunchAgent.

Kiểm tra LaunchAgent cho chúng ta một manh mối:

Có vẻ như secd chịu trách nhiệm đồng bộ móc khóa với iCloud?

Vậy bạn nên làm gì? Hãy thử một hoặc nhiều trong số này:

  1. Nếu bạn không cần đồng bộ hóa móc khóa iCloud, hãy tắt nó trong tùy chọn iCloud.
  2. Sử dụng launchctlđể vô hiệu hóa secd nếu nó dường như không ảnh hưởng xấu đến bất cứ điều gì.
  3. Nếu bạn cần đồng bộ hóa móc khóa iCloud, hãy xem bạn có hàng tấn vật phẩm móc khóa không và loại bỏ những thứ bạn không cần.
  4. Có thể xây dựng lại móc khóa của bạn (tạo một móc khóa mới, di chuyển các vật phẩm bạn cần vào nó và di chuyển nó qua cái cũ), trong trường hợp có những đồ tạo tác không cần thiết còn sót lại trong móc khóa cũ.

Đây là chi tiết tuyệt vời. Bước 2 nên có dấu hoa thị - hãy lưu ý rằng bạn đã tắt tính năng này vì Apple thường sẽ thêm một số tính năng mới vào điều này và máy Mac của bạn sẽ bị hỏng khi điều đó xảy ra, vì vậy hãy nhớ bật lại theo thời gian và xem lại quyết định tắt một daemon hệ thống.
bmike

Một lần nữa - câu trả lời tuyệt vời giải thích cách thiết kế đảo ngược bất kỳ trình nền nào và không chỉ câu trả lời này không được ghi chép tốt.
bmike

5

Chương trình / usr / libexec / secd được vận chuyển như một phần của OS X và là một quy trình bảo mật thông thường. Tài liệu nói rằng nó liên quan đến "chính sách bảo mật thời gian chạy cho các quy trình". Bạn có thể kiểm tra các quy trình liên quan bằng lệnh này:ps -ef|grep sec[iud]

Trên máy Mac của tôi, tôi là người dùng 501 nên bạn có đầu ra này cho một người dùng đã đăng nhập:

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

Bạn có thể thấy nó securitydđược bắt đầu bằng root (PID 58) và sau đó là quá trình người dùng (PID 205) khi bạn đăng nhập. Thực tế secdthực hiện "công việc" và có thể được trả lời ngay cả khi bạn không đăng xuất và đăng nhập. để giải mã lý do tại sao tài khoản của bạn sử dụng thêm tài nguyên, sẽ khá khó khăn nếu không đào sâu fsusagevà một số lệnh khác để xem lén các quy trình đang chạy cũng như xem qua các tệp nhật ký của bạn. Đặt cược tốt nhất của bạn sẽ là gửi một lỗi với Apple và sau đó ghi lại làm thế nào bạn có thể đưa nó vào misbehave - đặc biệt là nếu bạn có thể tái tạo nó sau khi khởi động lại.

Hiện tại không có "trang nam" cho secdvà trang dành cho secinitdít ỏi nhất. Nộp lỗi tài liệu chống lại Apple là một cách để yêu cầu thiếu tài liệu được khắc phục.


3

Từ những gì tôi biết về quá trình đó (mà thực sự không phải là một tấn) là nó có liên quan đến Keychain của Mac. Những gì bạn có thể làm là tìm trong Trình giám sát hoạt động và nhấp vào Cmd + I để nhận thông tin về nó.

Một mẹo bạn có thể thử là chạy Keychain First Aid bằng cách truy cập Keychain Access trong Spotlight, mở menu "Keychain Access" và chọn tùy chọn "Keychain First Aid" từ đó và làm theo chỉ dẫn.

Hy vọng rằng mẹo làm việc!


Keychain First Aid nói rằng móc khóa của tôi vẫn ổn! Trên cả ba máy tính.
retrography

Có một tùy chọn trong El Capitan (ít nhất, cũng có thể có trong các phiên bản trước) trong Keychain Access - Tùy chọn để đặt lại mặc định Kechain của tôi "Hoàn nguyên về mặc định của nhà sản xuất và tạo một khóa" đăng nhập "trống mới. được chuyển sang một bên, nhưng không bị xóa ". Ngay sau khi tôi làm điều này, securityd_service đã tăng từ 51-53% CPU xuống 0-1,5%. Ngay sau khi bạn bắt buộc phải đăng nhập lại vào iCloud - Tôi chưa phát hiện ra các phân nhánh khác.
Oskar Austegard

1
Tôi vừa nâng cấp từ Mavericks lên Sierra và thấy rằng CPU secd đã tăng từ gần 100% sau khi đặt lại móc khóa như bạn đề xuất. Mất tất cả mật khẩu trang web đã lưu, phải đăng nhập lại vào đồng bộ hóa lịch của mình, v.v., nhưng ít nhất tôi có thể sử dụng lại máy tính. Cảm ơn.
Walter Nissen

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.