กระบวนการ“ secd” คืออะไร


19

ฉันสงสัยว่าsecdกระบวนการทำงานภายใต้ OSX Yosemite ฉันค่อนข้างมั่นใจว่าฉันเคยเห็นกระบวนการนี้ทำงานในรุ่น MacOS ก่อนหน้านี้ แต่ฉันจำไม่ได้ว่ามันกินหน่วยความจำที่มีอยู่ทั้งหมดอย่างกล้าหาญ ...

ฉันมีคอมพิวเตอร์สามเครื่องที่ใช้โยเซมิตีโดยแต่ละเครื่องมีการกำหนดค่าที่แตกต่างกัน ทั้งสามได้รับการขึ้นเป็นระยะเวลาสามวันถึงหนึ่งสัปดาห์ นี่คือสิ่งที่secdประสบความสำเร็จ:

  • ใน MacBookAir 2011 ที่มีหน่วยความจำ 4GB ให้จัดสรร 700MB ไป secd
  • ใน iMac 2008 ที่มีหน่วยความจำ 6GB จะจัดสรรเป็น 2GB secd
  • ใน iMac 2011 ที่มีหน่วยความจำ 12GB จัดสรรให้ 4GB secd

ในคอมพิวเตอร์ทั้งสามเครื่องsecdนั้นเป็นกระบวนการที่ใหญ่ที่สุดในหน่วยความจำ (ใหญ่กว่าkernel task) และฉันสงสัยว่ามันมีบทบาทในการชะลอตัวที่ฉันเพิ่งพบเมื่อมาถึงโยเซมิตี ฉันรู้ว่ากระบวนการขยายในหน่วยความจำจนเกินขนาดและเพิ่มหน่วยความจำเมื่อฉันต้องการที่อื่น ปัญหาเดียวคือมันไม่ได้รวดเร็วในการเพิ่มหน่วยความจำและประสิทธิภาพของเวลาส่วนใหญ่ทนทุกข์ทรมานก่อนที่กระบวนการตระหนักถึงมันจะต้องถอย

การค้นหาในเว็บของฉันไม่ได้สรุปอย่างชัดเจนว่ากระบวนการคืออะไรและทำไมจึงควรมีขนาดใหญ่มาก ฉันคิดว่าฉันไม่ใช่คนเดียวที่ประสบสิ่งนี้ เคล็ดลับใด ๆ ที่ชื่นชม

ตามที่แนะนำด้านล่างsecdเกี่ยวกับ Apple Keychain นี่คือไฟล์และพอร์ตที่กระบวนการยังคงเปิดอยู่เมื่อใช้งาน (บน 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วิ่งบน Mavericks ในการวิเคราะห์อย่างรวดเร็ว daemon นี้ไม่ได้บันทึกไว้ซึ่งไม่ดีนี่อาจเป็นชิ้นส่วนของ crapware /usr/libexec/secdภูตแห่งนี้อยู่ใน
แดน

@danielAzuelos มันแสดงพฤติกรรมเหมือนมะเร็งใน Mavericks หรือไม่?
retrography

2
ตาม Plist secd จะใช้ในการจัดการพวงกุญแจเมฆไม่ได้เป็นหนึ่งในท้องถิ่น
Ruskes

2
เพิ่งค้นพบ: โดยไม่ต้องsecdเรียกใช้ข้อความขอให้ฉันใส่รหัสผ่านทุกครั้ง
น่าสนใจนอกจากนี้

1
→ Mah: บน Maveriskc secdมี VSZ = 2.4 GB และ RSS = 3 MB secdวิ่งเป็นเวลา 84 วินาทีบนระบบซึ่งเริ่มทำงานตั้งแต่ 5 วัน
แดน

คำตอบ:


20

หากไม่ชัดเจนนี่เป็นเพียงการคาดเดา แต่หวังว่ามันจะให้โอกาสคุณบ้าง

อันดับแรกนี่คือสิ่งที่คุณสามารถค้นหาได้จากชื่อโปรแกรม ถ้าคุณเรียกใช้คำสั่ง/bin/ls /usr/libexec | sort -f | egrep '.*d$'(นี้พิมพ์ไฟล์ทั้งหมดใน/usr/libexecที่ลงท้ายด้วยd) คุณจะพบftpd, hidd, networkd, และจำนวนมากของโปรแกรมในตอนจบsystemstatsd d"d" หมายถึง "daemon" ซึ่งโดยทั่วไปหมายถึงกระบวนการผู้ช่วยที่ทำงานในพื้นหลังเสมอ secน่าจะย่อมาจาก "ความปลอดภัย" ดังนั้นsecd"ภูตความปลอดภัย" ซึ่งเหมาะสมแล้วเพราะคุณบอกว่ามันดูเหมือนว่ามันใช้งานได้กับพวงกุญแจ

daemons คืออะไร daemons บางตัวยังคงทำงานเพื่อทำงานต่อเนื่อง hidd("human interface device daemon") เป็นกระบวนการที่รับผิดชอบในการจัดการอินพุตเมาส์ / คีย์บอร์ด / แทร็คแพด daemons อื่น ๆ บางงานทั่วไปที่โปรแกรมอื่น ๆ ต้องการ แอปสามารถบอก daemon ให้ทำบางสิ่งบางอย่างแทนที่จะมีรหัสเพื่อทำเอง ดังนั้นsecdอาจทำสิ่งนี้ แต่เกี่ยวข้องกับพวงกุญแจ

แต่อะไรกันแน่ ดูเหมือนว่ามันไม่ได้จัดการกับการใช้งานปกติของพวงกุญแจเนื่องจากฉันยังสามารถใช้พวงกุญแจได้หลังจากที่ฉันปิดใช้งานsecdLaunchAgent

การตรวจสอบ LaunchAgent ช่วยให้เรารู้ว่า:

ดูเหมือนว่า secd รับผิดชอบการซิงค์พวงกุญแจกับ iCloud หรือไม่

แล้วคุณควรทำอย่างไร ลองอย่างน้อยหนึ่งอย่างต่อไปนี้:

  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 ดังนั้นคุณมีผลลัพธ์นี้สำหรับผู้ใช้หนึ่งคนที่ล็อกอิน:

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 page" สำหรับsecdและอันที่secinitdน้อยที่สุด การยื่นเอกสารข้อผิดพลาดกับ Apple เป็นวิธีหนึ่งที่จะถามว่าการแก้ไขเอกสารขาดหายไปได้อย่างไร


3

จากสิ่งที่ฉันรู้เกี่ยวกับกระบวนการนั้น (ซึ่งจริงๆแล้วไม่ใช่ตัน) ก็คือมันมีบางอย่างเกี่ยวกับพวงกุญแจของ Mac สิ่งที่คุณสามารถทำได้คือพบในการตรวจสอบกิจกรรมและคลิก Cmd + I เพื่อรับข้อมูลเกี่ยวกับมัน

หนึ่งเคล็ดลับที่คุณสามารถทำได้คือเรียกใช้ Keychain First Aid โดยไปที่ Keychain Access ใน Spotlight เปิดเมนู "เข้าถึงพวงกุญแจ" และเลือกตัวเลือก "Keychain First Aid" จากที่นั่นและทำตามคำแนะนำ

หวังว่าเคล็ดลับที่ใช้งานได้!


การปฐมพยาบาลของพวงกุญแจบอกว่าพวงกุญแจของฉันใช้ได้ ในคอมพิวเตอร์ทั้งสามเครื่อง
retrography

มีตัวเลือกใน El Capitan (อย่างน้อยอาจมีในรุ่นก่อนหน้านี้เช่นกัน) ภายใต้ Keychain Access - การตั้งค่าเพื่อรีเซ็ต Kechain เริ่มต้นของฉัน "เปลี่ยนเป็นค่าเริ่มต้นจากโรงงานและสร้างพวงกุญแจ" ล็อกอิน "ว่างเปล่าใหม่ ถูกย้ายไป แต่ไม่ถูกลบ " ทันทีที่ฉันทำสิ่งนี้ securityd_service เปลี่ยนจาก 51-53% CPU เป็น 0-1.5% ทันทีที่คุณทำคุณต้องลงชื่อเข้าใช้ iCloud อีกครั้ง - ฉันยังไม่ได้ค้นพบเครือข่ายอื่น
Oskar Austegard

1
ฉันเพิ่งอัพเกรดจาก Mavericks เป็น Sierra และพบว่า secd CPU เพิ่มขึ้นจากเกือบ 100% หลังจากรีเซ็ตพวงกุญแจตามที่คุณแนะนำ รหัสผ่านเว็บไซต์ที่บันทึกไว้ทั้งหมดของฉันสูญหายต้องลงชื่อเข้าใช้การซิงค์ปฏิทินอีกครั้ง แต่อย่างน้อยฉันก็สามารถใช้คอมพิวเตอร์ได้อีกครั้ง ขอบคุณ
Walter Nissen

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.