有沒有頁面到內存中的另一個進程的整個圖像?幾周後,我們的IT人員將更換所有「核心」網絡交換機。這會降低網絡。這將在正常工作時間後完成。在此期間,有幾位用戶仍然會使用我編寫的程序。在每個用戶的機器上安裝我的程序的本地副本將是一場噩夢。該程序通常從網絡共享中運行。程序訪問網絡的唯一時間是程序執行其可執行(圖像)代碼的時間。我如何讓Windows內存管理器將整個映像加載到內存中並在那裏保持「鎖定」狀態,直到網絡重新聯機爲止?鎖定可共享內存
Q
鎖定可共享內存
0
A
回答
3
您可以用/ swaprun重新鏈接程序:淨選項:
1
這是行不通的。
Windows並不一定會將可執行文件的「靜態」副本加載到內存中,它可以隨意將大塊和頁面部分混合進入內存。通常它在程序開始運行後從可執行文件加載資源(圖像,字符串等)。它也經常動態加載外部庫。
編輯補充:
有沒有這樣的事情爲「一個進程的整個形象。」例如,每個線程都有自己的分配。
也許你應該解釋爲什麼從不同位置(即二進制文件的本地副本)運行不適合你。
1
您可以編寫它以便將其本身複製到臨時目錄,然後讓它將該副本作爲單獨的進程運行,然後自行終止(第一個副本)。我之前完成了這個小小的雜耍行爲,但這取決於你的程序是如何工作的,不管它是否喜歡從臨時目錄運行。
相關問題
- 1. 使用無鎖算法共享內存
- 2. 檢查IPC可共享鎖
- 3. 內存共享
- 4. peterson在共享內存中鎖定的問題
- 5. 共享內存:位置和鎖定策略
- 6. 共享內存一致性的鎖定機制
- 7. 在共享內存中鎖定信號量問題
- 8. 共享內存鎖定和進程崩潰
- 9. System.Data.SQLite鎖定/共享衝突
- 10. CUDA共享內存
- 11. C共享內存
- 12. 在共享內存
- 13. RDMA內存共享
- 14. 共享內存段
- 15. Linux共享內存
- 16. 通過共享內存共享指針
- 17. 是否可以在共享內存中加載共享庫?
- 18. 誰可以在Linux共享共享內存?
- 19. activerecord內存共享緩存
- 20. CUDA共享內存可能性
- 21. shmop/PHP共享內存有多可靠?
- 22. IPC與共享內存的共享內存有什麼區別?
- 23. 共享內存段vs共享內存段
- 24. C++共享內存泄漏,如何清除共享內存?
- 25. 將共享庫共享到共享內存
- 26. 共享文件鎖
- 27. 檢查共享內存是否存在,以及是否存在共享內存
- 28. 增加共享內存的內存
- 29. 1字節共享內存需要互斥鎖
- 30. C多進程訪問共享內存互斥鎖
我意識到這一點。我想將圖像鎖定到內存中。有一個VirtualLock函數可以做到這一點。但它只是調用過程,我還需要弄清楚圖像每個部分的基地址和長度。 – Mike 2010-12-07 21:00:20
如果程序不需要訪問服務器上啓動時的某些文件,則可以將程序複製到本地磁盤。對不起,我沒有提到。我希望編寫一個小程序來調用一些系統API來將EXE的代碼和數據段「鎖定」到內存中。 – Mike 2010-12-07 21:31:12