delete
trong javascript KHÔNG được sử dụng để xóa biến hoặc giải phóng bộ nhớ. Nó CHỈ được sử dụng để xóa một thuộc tính khỏi một đối tượng. Bạn có thể tìm thấy bài viết này
trên delete
một nhà điều hành đọc tốt.
Bạn có thể xóa tham chiếu đến dữ liệu được giữ trong một biến bằng cách đặt biến thành một cái gì đó như null
. Nếu không có tham chiếu nào khác đến dữ liệu đó, thì dữ liệu đó sẽ đủ điều kiện để thu gom rác. Nếu có các tham chiếu khác đến đối tượng đó, thì đối tượng đó sẽ không bị xóa khỏi bộ nhớ cho đến khi không còn tham chiếu nào đến đối tượng đó (ví dụ:không có cách nào để mã của bạn truy cập được).
Đối với những gì đang gây ra sự tích tụ bộ nhớ, có một số khả năng và chúng tôi thực sự không thể nhìn thấy đủ mã của bạn để biết những tham chiếu nào có thể được giữ lại sẽ ngăn GC giải phóng mọi thứ.
Nếu đây là một quá trình chạy dài đơn lẻ và không có thời gian thực thi, bạn cũng có thể cần chạy trình thu gom rác theo cách thủ công để đảm bảo nó có cơ hội dọn dẹp những thứ bạn đã phát hành.
Dưới đây là một số bài viết về cách theo dõi mức sử dụng bộ nhớ của bạn trong node.js: http://dtrace.org/blogs/bmc/2012/05/05/debugging-node-js-memory-leaks/ và https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/ .