Tôi đang sử dụng máy nén UPX để nén ứng dụng của tôi được viết bằng Delphi XE. Kích thước tập tin đi từ khoảng 32 Mb đến 8 Mb.Tại sao ứng dụng của tôi sử dụng nhiều bộ nhớ hơn sau khi tôi nén nó với UPX và tôi có thể làm gì với nó?
Điều lạ lùng mà tôi nhận thấy, mặc dù, việc chiếm dụng bộ nhớ RAM tăng đáng kể khi chạy tệp nén. Từ 25/30 Mb đến khoảng 80 Mb. Đây có phải là vấn đề bình thường hay là vấn đề bạn nên giữ? Trong trường hợp của tôi, vì ứng dụng chạy trên chế độ máy tính từ xa Windows Server 2008 với nhiều người dùng, nên hệ thống này không cân xứng.
Tại sao điều này lại xảy ra? Làm thế nào tôi có thể giải quyết vấn đề này?
Có bao nhiêu người dùng chạy ứng dụng cùng một lúc? Mỗi trường hợp của quá trình tiêu thụ bộ nhớ vật lý riêng biệt nếu bạn sử dụng một máy nén. Không thể chia sẻ các trang. Động cơ của bạn để sử dụng UPX là gì? –
Tôi không biết về UPX cụ thể, nhưng ít nhất một số máy nén PE giải nén toàn bộ hình ảnh vào bộ nhớ lúc khởi động. Điều này khác với các PE thông thường, trong đó các phần riêng lẻ được phân trang khi cần thiết. –
Bạn có chắc chắn bạn không có thông tin gỡ lỗi được liên kết trong tệp thực thi không? Điều đó thường làm cho một sự khác biệt lớn hơn cho các filesize của bạn hơn là nén. Một trong các ứng dụng của tôi là 17MB với thông tin gỡ lỗi và ít hơn 3 mà không có nó. –