2010-10-14 26 views
6

Tôi đang viết một ứng dụng ASP.NET MVC và tôi thấy một hiệu suất dường như ngẫu nhiên từ một trong những hành động của tôi. Thông tin ban đầu của tôi là bộ sưu tập rác đang khởi động và tạm dừng ứng dụng trong một thời gian ngắn, nhưng dường như tôi không thể tìm thấy nút/nút chuyển đổi sẽ chứng minh hoặc bác bỏ lý thuyết của tôi.Tương đương .NET của dòng lệnh java là gì: gc command line

Không có người java nào ở ngoài đó -verbose:gc là công tắc dòng lệnh mà bạn có thể chuyển sang ứng dụng java sẽ làm cho JVM in ra khi sự kiện GC diễn ra và mất bao lâu.

Tôi đã cố gắng sử dụng công cụ hiệu suất vs2010 và JetBrains dotTrace cả hai đều giống như sử dụng vũ khí hạt nhân nhiệt để crack một hạt nhỏ.

+0

bao lâu GC mất mà không phải là dễ dàng xác định. Hầu hết GC không yêu cầu chương trình đã dừng, vì .net sử dụng GC đồng thời trên các ứng dụng khách. – CodesInChaos

Trả lời

6

Trong .NET 4.0 có theo dõi sự kiện cho Windows (ETW) cung cấp cho bạn thông tin bạn đang tìm kiếm. Dưới đây là thông tin cụ thể cho GC.

FYI ETW rất nhanh và được tích hợp vào Kernel. Với ETW bạn sẽ có thể để có được thông tin như thế này alt text

alt text

Và để có được thông tin này có một công cụ từ nhóm BCL được gọi là PerfMonitor

Dưới đây là các bước trong việc sử dụng công cụ để có được những thông tin GC

  1. Bắt đầu một cmd hoặc PowerShell như admin , điều này cần thiết để thu thập ETW truy tìm
  2. Khởi động ứng dụng mà bạn muốn để theo dõi
  3. Issue lệnh “PerfMonitor.exe /quá trình: 4180 bắt đầu”, nơi 4180 là quá trình id
  4. Do những hành động cần thiết
  5. Sau đó, vấn đề “PerfMonitor .exe stop ”
  6. Lệnh để nhận báo cáo “ PerfMonitor.exe GCTime ”. Điều này sẽ tạo một báo cáo và mở nó trong trình duyệt

Tôi cũng có blogged khoảng cùng

HTH

+0

Đó là tốt hơn .. ta. –

0

Đoán đầu tiên của bạn không được là GC. Với tất cả các tải công việc bình thường, bạn không nhận thấy GC trong .NET.

Không có dấu vết chuyển đổi cho GC, nhưng bạn có thể xem performance counters nếu bạn vẫn nghĩ rằng GC là để đổ lỗi.

+0

Cảm ơn điều đó chỉ là công việc. Khá đúng của bạn không có gì để làm với GC, không thể dễ dàng :-) –

Các vấn đề liên quan