2016-09-06 18 views
10

Tôi vừa cài đặt SmartFoxServer.Chủ đề luôn tăng

Số lượng chủ đề trong nhóm chủ đề tại Trang tổng quan không ngừng tăng sau khi khởi động lại Sfs và không bao giờ giảm lại cho đến khi khởi động lại tiếp theo. Nếu tôi tăng giới hạn hồ bơi luồng, số lượng chỉ tăng lên đến giới hạn đó.

Bất kỳ tiện ích mở rộng hoặc dịch vụ nào chưa chạy và số lượng chuỗi tăng lên đến 1232 trong 10 phút. Vì vậy, điều này không có vẻ như một rò rỉ bộ nhớ, bởi vì không có mã mở rộng được tham gia, chỉ cần đồng bằng SmartFox.

Tôi đã dùng thử phiên bản 2.9, nhưng kết quả không thay đổi.

Điều gì có thể gây ra chuỗi Sfs cho loại hành vi đó mà không cần chạy tiện ích mở rộng?

+0

Bạn có mã mà bạn sử dụng không? –

+0

@HorsSujet Ngay cả khi tôi không sử dụng bất kỳ phần mở rộng nào, thì vẫn sử dụng tối thiểu 1040 chủ đề. –

Trả lời

1

Bạn có rò rỉ bộ nhớ.

»Memory rò rỉ

Trong Java rò rỉ bộ nhớ xảy ra khi các đối tượng trong bộ nhớ không được thả mặc dù bản thân ứng dụng không còn cần chúng. Ví dụ phổ biến là trình xử lý sự kiện không được sử dụng sẽ không bị xóa khỏi sự kiện của họ nguồn.

Nếu chương trình tiếp tục thêm đối tượng người nghe mới nhưng không bao giờ loại bỏ những người không còn sử dụng nữa, chúng tôi sẽ kết thúc với rất nhiều chất thải bộ nhớ . GC sẽ không thể lấy lại bộ nhớ như vậy bởi vì các trình nghe không sử dụng vẫn được tham chiếu. Nếu các đối tượng này tiếp tục chồng chất lên , chúng tôi sẽ thấy sự xuống cấp hiệu suất lũy tiến có thể kết thúc trong sự cố sự cố JVM.

Rò rỉ bộ nhớ không phải lúc nào cũng rất rõ ràng để tìm, ẩn trong mã trong một thời gian khá lâu trước khi chúng được phát hiện. Trong trường hợp khác, rò rỉ có thể trở nên rất khó chịu rất nhanh chóng gây ra các đột biến lớn trong việc sử dụng bộ nhớ và cuối cùng là cái chết của quá trình.
Nguồn: http://docs2x.smartfoxserver.com/AdvancedTopics/troubleshooting-live-server#mem

+0

Không phải nó là một 'rò rỉ tài nguyên' trong bối cảnh này, hoặc là 'rò rỉ bộ nhớ' đã tổng quát đủ để che phủ kịch bản này? – Av4t4r

+0

Tôi đã nghĩ về điều đó và cài đặt lại SmartFox Server mà không cần đính kèm bất kỳ phần mở rộng hoặc swf nào. Tôi thậm chí không sử dụng bất kỳ mã nào, nhưng cài đặt SmartFox2 sạch sẽ đi kèm với 1040 luồng. –

+0

Bạn đã thử thay đổi config.xml chưa? ' 5' –

0

Một khởi đầu tốt sẽ là để thử và xác định những gì tất cả các chủ đề được. Bạn có thể sử dụng jstack (được bao gồm trong JDK) để có được bãi chứa của tất cả các chủ đề mà sẽ giúp bạn khám phá mục đích của họ và hy vọng làm thế nào để giảm số lượng của họ.

jstack -l JAVA_PID > jstack.out 
Các vấn đề liên quan