2008-08-11 21 views
6

Gần đây tôi đã gặp sự cố với Firefox 3 trên Ubuntu Hardy Heron.Một số loại trình quản lý tác vụ cho JavaScript trong Firefox 3?

Tôi sẽ nhấp vào một liên kết và nó sẽ treo trong một thời gian. Tôi không biết nếu nó là một lỗi trong Firefox 3 hoặc một trang chạy quá nhiều JavaScript phía khách hàng, nhưng tôi muốn thử và gỡ lỗi nó một chút.

Vì vậy, câu hỏi của tôi là "có cách nào để có một số loại trình thám hiểm quy trình hoặc trình quản lý tác vụ sắp xếp thứ cho Firefox 3 không?"

Tôi muốn có thể xem tab nào đang sử dụng phần trăm bộ xử lý của tôi thông qua JavaScript trên trang đó (hoặc bất kỳ thứ gì trong trang đang gây ra việc sử dụng CPU/bộ nhớ).

Có ai biết plugin nào thực hiện việc này hay tương tự không? Có ai khác thực hiện loại kiểm tra này theo cách khác không?

Tôi biết về FireBug, nhưng tôi không thể tưởng tượng làm thế nào tôi sẽ sử dụng nó để ngón tay mà tab đang sử dụng rất nhiều tài nguyên.

Bất kỳ đề xuất hoặc thông tin chi tiết nào?

Trả lời

7

Đây có thể là số awesome firefox3 fsync "bug", đây là một đống thất bại khổng lồ.

Nói tóm lại

  • Firefox3 sẽ lưu dấu trang và lịch sử của nó trong một cơ sở dữ liệu SQLite
  • Mỗi khi bạn tải một trang nó ghi vào cơ sở dữ liệu này nhiều lần
  • SQLite quan tâm sâu sắc rằng bạn không bị mất các dấu trang của bạn, do đó, mỗi khi nó viết, chỉ thị hạt nhân xóa tập tin cơ sở dữ liệu của nó thành đĩa và đảm bảo rằng nó được viết hoàn toàn
  • Nhiều biến thể của Linux, khi được yêu cầu tuôn ra như vậy, hãy xóa tất cả TẬPTIN. Quá trình này có thể mất tới một phút hoặc lâu hơn nếu bạn có các tác vụ nền làm bất kỳ loại công cụ nào chuyên sâu về đĩa.
  • Nhân hạt nhân bật chế độ chờ firefox trong khi quá trình xả này xảy ra, khóa này sẽ khóa giao diện người dùng.
1

Không có loại công cụ "trình khám phá quy trình" nào cho Firefox; nhưng có http://developer.mozilla.org/en/docs/Venkman với chế độ lược tả mà bạn có thể sử dụng để xem thời gian của các tập lệnh chrome (nghĩa là không phải nội dung, đó không phải là trang web).

Từ những gì tôi đã đọc về nó, DTrace cũng có thể hữu ích cho loại điều này, nhưng nó yêu cầu tạo một bản dựng tùy chỉnh và có thể thêm đầu dò bổ sung vào nguồn. Tôi chưa từng chơi với nó.

1

Có một thorough discussion of this giải thích tất cả các vấn đề liên quan đến fsync ảnh hưởng đến phiên bản FF trước 3.0. Nói chung, tôi đã không nhìn thấy hành vi kể từ đó hoặc là, và thực sự nó không phải là một vấn đề ở tất cả nếu hệ thống của bạn không phải là cũng làm nhiệm vụ chuyên sâu IO. Firebug/Venkman tạo ra những trình gỡ lỗi tốt đẹp, nhưng họ sẽ rất đau đớn khi tìm ra những loại vấn đề này cho mã của ai đó, IMO. Tôi cũng mong rằng có một cách dễ dàng để xem xét việc sử dụng CPU trong Firefox theo tab, mặc dù, tôi thường thấy mình với FF ăn CPU 100%, nhưng không có đầu mối nào là nguyên nhân gây ra vấn đề.

3

Vì vậy, câu hỏi của tôi là, có cách nào để có một loại trình khám phá quy trình hoặc trình quản lý tác vụ nào đó cho Firefox 3 không?

Do cách Firefox được xây dựng, điều này là không thể vào lúc này. Nhưng Internet Explorer 8 Beta 2 mới và trình duyệt Google Chrome vừa được công bố đang đi theo hướng đó, vì vậy tôi cho rằng Firefox cũng sẽ hướng đến đó.

Đây là một bài đăng ( Google Chrome Process Manager), bởi John Resig từ Mozilla và jQuery nổi tiếng về chủ đề này.

1

XUL Profiler là một tiện ích mở rộng tuyệt vời có thể chỉ ra các tiện ích mở rộng và phía máy khách JS đã biến mất CPU-khôn ngoan. Nó không hoạt động trên cơ sở mỗi tab, nhưng trên mỗi tập lệnh (hoặc hơn). Bạn thường có thể liên kết các tập lệnh .js đó với tab hoặc tiện ích mở rộng của bạn bằng tay. Cũng cần lưu ý rằng Google Chrome đã tích hợp trình quản lý tác vụ thực sự tốt, cung cấp mức sử dụng bộ nhớ và CPU cho mỗi tab, phần mở rộng và plugin.

[XUL Profiler] là trình biên tập Javascript. Nó hiển thị thời gian đã trôi qua trong mỗi phương thức dưới dạng biểu đồ cũng như vùng canvas của trình duyệt vẽ lại để giúp theo dõi việc tiêu thụ khối mã CPU.

Theo dõi tất cả các cuộc gọi JS và sự kiện sơn trong XUL và ngữ cảnh trang. Tạo hoạt ảnh hiển thị động các vùng canvas đang được vẽ lại.

Kể từ FF 3.6.10, nó không được cập nhật ở chỗ nó không được đánh dấu là tương thích nữa. Nhưng nó vẫn hoạt động và bạn có thể ghi đè lên sự không tương thích với số MR Tech Toolkit extension.