2016-02-18 14 views
5

Đôi khi tôi làm việc với bộ dữ liệu rất lớn trong Sổ tay IPython. Đôi khi một DataFrame gấu trúc duy nhất sẽ chiếm 1 GB bộ nhớ, vì vậy tôi không thể giữ nhiều bản sao xung quanh.Giải phóng bộ nhớ liên quan đến lỗi trong Máy tính xách tay IPython

Điều tôi thấy là nếu tôi cố thực hiện thao tác trên ma trận đó, và lỗi được nâng lên, tôi không lấy lại bộ nhớ - một số biến liên tục vẫn đang được theo dõi ở đâu đó. Vấn đề là, tôi không biết ở đâu và không thể giải phóng nó!

Ví dụ: hình ảnh dưới đây cho thấy mức tiêu thụ bộ nhớ sau khi lặp lại các lần thử thực hiện ô (mỗi bước trong biểu đồ tương ứng với một lần thử thực hiện ô). Mỗi lần một bộ nhớ mới được tiêu thụ mà không bao giờ được phát hành.

Memory usage while executing a cell that raises an error

Có ai biết nơi bộ nhớ này sẽ và làm thế nào để giải phóng nó lên? Ngoài ra, nếu đây là lỗi (tức là rò rỉ bộ nhớ hoặc tương tự), bạn làm cách nào để hiển thị lỗi đó? Tôi không muốn báo cáo lỗi này nếu nó thực sự là tác dụng phụ của mã thực hiện như được thiết kế (ví dụ: IPython đang lưu vào bộ nhớ đệm và tôi chỉ lạm dụng hệ thống bộ nhớ đệm).

Cảm ơn bạn!

+0

Tôi có vấn đề tương tự với Jupyter tiêu tốn quá nhiều RAM. Tôi chưa xác định chính xác nguồn gốc của vấn đề, nhưng Jupyter vẫn ở trên máy chủ trong nhiều ngày và sổ ghi chép thường xuyên được mở và đóng. Tôi đi qua https://github.com/ipython/ipython/issues/8267 vấn đề này, và nghĩ rằng nó có thể được bằng cách nào đó kết nối với nhau. Giải pháp được đề xuất (cập nhật 'jsonschema') không giúp tôi, nhưng có thể làm việc cho bạn –

+0

Cảm ơn bạn @Pocin cho liên kết. Một vấn đề khác đã được nêu ra trong dự án jupyter: https://github.com/jupyter/notebook/issues/642. Có lẽ bạn có thể thêm một bình luận ở đó với kinh nghiệm của bạn để giúp các nhà phát triển có thêm thông tin về vấn đề này. –

+0

Bạn đang sử dụng nền tảng nào và bạn đang sử dụng cái gì để theo dõi bộ nhớ? Đang cố gắng theo dõi các vấn đề liên quan .. – dartdog

Trả lời

2

Mỗi cuộc thảo luận về github liên quan đến issue 642, có rò rỉ bộ nhớ đã biết trong jsonschema 2.4. Sau khi cập nhật lên jsonschema 2.5.1, tôi không còn gặp vấn đề này nữa.

Vì vậy, nếu bạn đang sử dụng khung cũ hơn và gặp sự cố này, bạn sẽ cần phải nâng cấp ít nhất jsonschema.

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