Quá trình xử lý dữ liệu trên nền tảng X là gì và tại sao nó lại sử dụng nhiều năng lượng CPU như vậy?


30

Tôi đã xem trong iStat Menus và nhận thấy rằng một quá trình có tên lsdđã tiêu tốn 99% CPU của tôi (Trong số 400% cho 4 lõi). Tôi đã tìm kiếm xung quanh một chút, nhưng không thể tìm ra đây là gì và tại sao nó lại sử dụng nhiều sức mạnh xử lý như vậy. Đó không phải là Little Snitch Daemon, vì tôi chưa bao giờ cài đặt nó. Một số người khác nói rằng đó có thể là Launch Services Daemon, nhưng tôi nghĩ rằng đó là quá trình launchd. Đó là dịch vụ ra mắt Daemon.

Khi nhìn vào bảng điều khiển, tôi nhận thấy những thông báo này khi tìm kiếm lsd:

22/12/2015 9:36:02.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:36:02.931 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:36:02.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:36:02.932 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:36:03.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 9:36:03.657 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 9:39:41.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:39:41.995 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:39:41.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:39:41.996 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:39:42.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 9:39:42.370 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 9:39:58.100 a.m. lsd[296]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 10:01:15.000 a.m. kernel[0]: process lsd[237] thread 19967 caught burning CPU!; EXC_RESOURCE supressed due to audio playback
22/12/2015 3:34:04.828 p.m. lsd[296]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:44:07.469 p.m. sudo[45308]:     MyUsername : TTY=ttys000 ; PWD=/private/var/db ; USER=root ; COMMAND=/bin/mkdir lsd
22/12/2015 3:49:09.183 p.m. lsd[306]: LaunchServices: Scheme mapping file does not exist, creating file.
22/12/2015 3:49:09.400 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:49:09.407 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:49:39.366 p.m. lsd[306]: LaunchServices: Currently 0 installed placeholders: ()
22/12/2015 3:49:50.000 p.m. kernel[0]: Sandbox: AssetCacheLocato(535) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 3:49:50.802 p.m. AssetCacheLocatorService[535]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 3:49:51.000 p.m. kernel[0]: Sandbox: AssetCacheLocato(535) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 3:49:51.002 p.m. AssetCacheLocatorService[535]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 4:31:57.573 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:34:34.075 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:34:34.290 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:37:20.000 p.m. kernel[0]: process lsd[220] thread 26462 caught burning CPU!; EXC_RESOURCE supressed due to audio playback

Đối với tin nhắn này:

22/12/2015 3:44:07.469 p.m. sudo[45308]:     MyUsername : TTY=ttys000 ; PWD=/private/var/db ; USER=root ; COMMAND=/bin/mkdir lsd

Tôi đã thử làm một thư mục được gọi /private/var/db/lsdlà root.

Ngoài ra, việc sử dụng CPU của tôi dường như rất không liên tục (điều mà nó chưa từng làm trước đây).

Sử dụng CPU không liên tục

Nhìn vào /usr/libexec, tôi thấy lsdvà nhận thấy rằng nó đã được tạo ra vào ngày 17 tháng 9 năm 2015. Tại sao nó lại quá mới (cùng với mọi thứ khác trong thư mục đó)?


3
Vui lòng không cập nhật câu hỏi với câu trả lời, thay vào đó hãy đăng câu trả lời. Nếu không, cả chức năng tìm kiếm và người dùng sẽ bị nhầm lẫn.
nohillside

Câu trả lời:


21

lsd trong OS X thực sự là LaunchServiceDaemon. launchd là trình quản lý daemon khởi chạy! Nó có thể cung cấp chức năng tương tự như trong iOS. Theo Apple, nó cung cấp

hỗ trợ khởi chạy ứng dụng và kết hợp các loại tài liệu với ứng dụng. Do đó, các khóa được Launch Services nhận ra cho phép bạn chỉ định môi trường thực thi mong muốn cho mã được gói của mình.

lsd rõ ràng đã được giới thiệu trong OS X 10.11 El Capitan vì tôi không thể tìm thấy nó trong các hệ thống cũ. Phiên bản mới nhất (bao gồm trong 10.11.2) sẽ có ngày mod ngày 3 tháng 12 năm 2015.


Để giải quyết

  • vấn đề "LaunchService: Không thể lưu trữ tệp định danh lsd tại /private/var/db/lsd/com.apple.lsdscheme.plist" kiểm tra bài đăng này :

    Có lẽ không phải là cách tốt nhất, nhưng tôi dường như đã sửa / loại bỏ thông báo lỗi đó. Đây là những gì tôi đã làm:

    cd /private/var/db

    thư mục lsd không tồn tại

    mkdir lsd

    Vẫn không có niềm vui

    chmod -R 777 /private/var/db/lsd
    (tôi biết, tôi vừa mở gibson của mình để bị hack)
    touch /private/var/db/lsd/com.apple.lsdschemes.plist

    Dường như sẽ ra đi sau đó. Sẵn sàng đặt cược kiểm tra sửa chữa / cấp phép đĩa sẽ phá vỡ nó một lần nữa, nhưng chưa thử. Nếu tôi gửi tập tin đó thì đây là nội dung:

    bplist00?

  • Sử dụng CPU 100%: / usr / libexec / lsd sử dụng 100% CPU


À, cảm ơn vì đã xóa nó (và tôi vẫn còn vào ngày 10.11.1) Tôi vẫn không biết tại sao nó lại cần nhiều năng lượng CPU như vậy ...
CraftedCart

Sau khi đào rất nhiều, tôi nghĩ rằng tôi có thể đã tìm thấy ứng dụng gây ra vấn đề 100%. Robocraft. Hãy xem nếu cập nhật nó hoạt động, và nếu không, tôi sẽ phải gỡ cài đặt nó.
CraftedCart

Tôi có một hoạt động đúng lsdvà không có thư mục nào /private/var/db/lsdtồn tại - có lẽ đó là cá trích đỏ từ các hệ thống cũ hơn 10.11? Nó vẫn còn rất nhiều cách ghi đĩa vì lý do thỉnh thoảng tôi không thể xác định được - có lẽ điều đó chuyển thành rất nhiều CPU cho các hệ thống có ổ đĩa cứng và / hoặc hệ thống tệp lớn có lưu trữ dữ liệu quan trọng?
bmike

5

Có vẻ như lsdbị kẹt trên _LSCreateRegistrationData cho một ứng dụng nhất định. Nếu bạn có cùng một vấn đề, hãy làm theo hướng dẫn dưới đây.

  1. Mở màn hình hoạt động và tìm kiếm lsd
  2. Nhận được lsdquyền sở hữu của rootngười dùng
  3. Mở thiết bị đầu cuối
  4. Enter sudo sample PID-HERE(Tất nhiên, thay thế PID-TẠI ĐÂY bằng PID bạn có trong bước 2)
  5. Nếu bạn có cùng một vấn đề, sẽ có một cái gì đó _LSCreateRegistrationDatatrong biểu đồ cuộc gọi (gần đầu của toàn bộ đầu ra)
  6. Đi vào sudo lsof -p PID-HERE

Bạn sẽ có thể nhận ra một gói ứng dụng trong đầu ra đó. Hãy thử xóa hoặc cập nhật nó và xem nếu nó giải quyết vấn đề


2

Tôi cũng phát hiện ra rằng tôi có vấn đề với lsd. Dường như nó là đủ để tạo thư mục và chạm vào tệp, có (ít nhất là trong trường hợp của tôi) không cần phải sử dụng các quyền như mô tả bởi klanomath.

Trong trường hợp của tôi, nó đã dừng các lỗi lsd, nhưng tôi vẫn thấy các lỗi thường gặp như sau:

25 tháng 2 14:06:07 iMac system_profiler [259]: LaunchService: Ánh xạ cơ sở dữ liệu không thành công với kết quả -10822, đang thử lại

Ngày 25 tháng 2

Feb 25 14:06:07 iMac com.apple.xpc.launchd [1] (com.nomachine.nxserver): Dịch vụ chỉ chạy trong 7 giây. Đẩy hồi sinh ra 3 giây.

Tôi đã cài đặt NoMachine và xóa nó (vì dù sao tôi chỉ thực sự sử dụng nxplayer), lỗi đó cũng dừng lại.


1

Điều làm việc cho tôi là cpu "sudo xcrun xcscontrol --reset" đã chuyển từ xung 95% xuống còn khoảng 4%.


Ném một thông báo lỗi: xcrun: error: không thể tìm thấy tiện ích "xcscontrol", không phải là công cụ dành cho nhà phát triển hoặc trong PATH
user26732

0

Đó là một phần của LaunchService. Bạn có thể trích xuất một số thông tin (chuỗi) ra khỏi nó bằng lệnh chuỗi:

hostname:~ username$ strings /usr/libexec/lsd
@(#)PROGRAM:lsd  PROJECT:LaunchServices-
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
</dict>
</plist>

Ngoài ra, có vẻ như vấn đề của bạn cũng đang được thảo luận ở đây .

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.