在SAP Business One中如何才能提高系統內存分配
發表于:2018/4/3 11:07:58??閱讀量:?[關閉]
以下內容主要針對SAP Business One 軟件在使用過程中可能遇到的內存不足的問題,所對其進行優化和改善作用。
按照企業業務發展需求的不同作為其使用的ERP系統SAP Business One (簡稱B1)數據庫的數據量也隨之增大,在這種情況下會導致操作系統在運行某些任務的時候,例如在生成復雜報表、系統同時運行多個add-on插件等情況下,操作系統會報錯,這也說明了其內存不足,或者操作系統直接失去響應,而非正常關閉。
關于這個問題需要從操作系統上進行查找原因,實際理論上而言,不管電腦系統安裝了多少物理內存,對一個32位的應用程序來說在內存空間中能使用的內存最多只有4GB。而在32位的windows系統中,正常情況下系統限制是2GB容量,另外2GB是**作系統內部保留使用。而我們知道,目前發行的B1還是典型的32位Windows程序,受限于Windows系統的這個限制,B1能使用的內存可能也就只有2GB。
從這個理論得出對B1而言2GB的內存容量的確不夠使用,對B1來說一個大容量的數據操作時候或啟動了多個add-on的時候,內存的容量肯定不夠使用。
關于這個問題,SAP早以意識到此問題的嚴重度,并做了一些策略來應對此問題。
Windows可執行程序有一個標志位: IMAGE_FILE_LARGE_ADDRESS_AWARE 。當設置了這個標志位的時候,Windows就會試圖為該應用程序分配更多的內存空間。具體情況是這樣的:(參見 O網頁鏈接)
如果當前Windows是32位的,普通模式啟動,那么很遺憾,情況沒有改善。該32位應用程序得到的內存空間還是2GB,另外2GB為操作系統保留。
如果當前Windows是32位的,且是以/3GB 啟動參數方式啟動的,那么,該應用程序將得到3GB的內存空間。而操作系統自身只保留1GB的空間地址。
如果當前Windows是64位的,那么32位應用程序將直接得到4GB的內存空間。
而我們的B1應用程序現在已經是設置了 IMAGE_FILE_LARGE_ADDRESS_AWARE 的標志位的。所以,我們可以利用這一特性,配合操作系統,將B1的尋址空間由2GB擴展為3GB甚至4GB。由此,原來很多因內存不夠而失敗的操作,將會有明顯改善,可能就會通過了。
通過上面分析和描述,最佳的方案是推薦大家使用64位的操作系統。隨著windows 7流行,64位的操作系統也越來越貼近日常的工作生活,甚至也包括了即將發布的windows 8 的64位版本。在這樣的情況下,作為客戶不需要做任何的設置,B1系統直接就可以享受4G的內存空間!
而如果***作系統還停留在32位,比如32位的Windows XP或者Windows Server 2003,那么根據上面的分析,還是有改進余地的,就是給操作系統加上啟動參數 /3GB。這樣可以讓B1的可用內存從2GB擴大到3GB。
本文鏈接:在SAP Business One中如何才能提高系統內存分配