在SAP Business One中如何才能提高系統(tǒng)內(nèi)存分配

發(fā)表于:2018/4/3 11:07:58??閱讀量:?[關(guān)閉]



  以下內(nèi)容主要針對SAP Business One 軟件在使用過程中可能遇到的內(nèi)存不足的問題,所對其進行優(yōu)化和改善作用。

  按照企業(yè)業(yè)務(wù)發(fā)展需求的不同作為其使用的ERP系統(tǒng)SAP Business One (簡稱B1)數(shù)據(jù)庫的數(shù)據(jù)量也隨之增大,在這種情況下會導(dǎo)致操作系統(tǒng)在運行某些任務(wù)的時候,例如在生成復(fù)雜報表、系統(tǒng)同時運行多個add-on插件等情況下,操作系統(tǒng)會報錯,這也說明了其內(nèi)存不足,或者操作系統(tǒng)直接失去響應(yīng),而非正常關(guān)閉。

  關(guān)于這個問題需要從操作系統(tǒng)上進行查找原因,實際理論上而言,不管電腦系統(tǒng)安裝了多少物理內(nèi)存,對一個32位的應(yīng)用程序來說在內(nèi)存空間中能使用的內(nèi)存最多只有4GB。而在32位的windows系統(tǒng)中,正常情況下系統(tǒng)限制是2GB容量,另外2GB是**作系統(tǒng)內(nèi)部保留使用。而我們知道,目前發(fā)行的B1還是典型的32位Windows程序,受限于Windows系統(tǒng)的這個限制,B1能使用的內(nèi)存可能也就只有2GB。

  從這個理論得出對B1而言2GB的內(nèi)存容量的確不夠使用,對B1來說一個大容量的數(shù)據(jù)操作時候或啟動了多個add-on的時候,內(nèi)存的容量肯定不夠使用。

  關(guān)于這個問題,SAP早以意識到此問題的嚴重度,并做了一些策略來應(yīng)對此問題。

  Windows可執(zhí)行程序有一個標(biāo)志位: IMAGE_FILE_LARGE_ADDRESS_AWARE 。當(dāng)設(shè)置了這個標(biāo)志位的時候,Windows就會試圖為該應(yīng)用程序分配更多的內(nèi)存空間。具體情況是這樣的:(參見 O網(wǎng)頁鏈接)

  如果當(dāng)前Windows是32位的,普通模式啟動,那么很遺憾,情況沒有改善。該32位應(yīng)用程序得到的內(nèi)存空間還是2GB,另外2GB為操作系統(tǒng)保留。

  如果當(dāng)前Windows是32位的,且是以/3GB 啟動參數(shù)方式啟動的,那么,該應(yīng)用程序?qū)⒌玫?GB的內(nèi)存空間。而操作系統(tǒng)自身只保留1GB的空間地址。

  如果當(dāng)前Windows是64位的,那么32位應(yīng)用程序?qū)⒅苯拥玫?GB的內(nèi)存空間。

  而我們的B1應(yīng)用程序現(xiàn)在已經(jīng)是設(shè)置了 IMAGE_FILE_LARGE_ADDRESS_AWARE 的標(biāo)志位的。所以,我們可以利用這一特性,配合操作系統(tǒng),將B1的尋址空間由2GB擴展為3GB甚至4GB。由此,原來很多因內(nèi)存不夠而失敗的操作,將會有明顯改善,可能就會通過了。

  通過上面分析和描述,最佳的方案是推薦大家使用64位的操作系統(tǒng)。隨著windows 7流行,64位的操作系統(tǒng)也越來越貼近日常的工作生活,甚至也包括了即將發(fā)布的windows 8 的64位版本。在這樣的情況下,作為客戶不需要做任何的設(shè)置,B1系統(tǒng)直接就可以享受4G的內(nèi)存空間!

  而如果***作系統(tǒng)還停留在32位,比如32位的Windows XP或者Windows Server 2003,那么根據(jù)上面的分析,還是有改進余地的,就是給操作系統(tǒng)加上啟動參數(shù) /3GB。這樣可以讓B1的可用內(nèi)存從2GB擴大到3GB。

 



本文鏈接:在SAP Business One中如何才能提高系統(tǒng)內(nèi)存分配