我們公司是用Xeon 2.13G的CPU
跑WIN20003
安裝一套foxpro的進銷存
之前記憶體只有1G
因為使用者從15個新增到30個左右
所以利用遠端桌面連線等於說30個人連線就要在伺服器端開30套進銷存
(一個人一個遠端桌面帳號)
新增使用者後剛開始會比較慢,也常常出現記憶體不足
所以就規劃升級記憶體
後來也升級到4G(2g+2g)~系統也有抓到3.99G的記憶體
我也把虛擬記憶體新設到4G了
可是
奇妙的是
還是會出現記憶體不足的情況(進銷存軟體裡,不是WIN出現的)
我看右下角的記憶體管理程式還剩下3G的記憶體耶 >"<
不知道是哪出了問題!
因為日後還會在增加新的使用者
我倒啊我!!!
對了…
因為我們是跑遠端桌面連線,所以使用者比較不會有開啟緩慢的問題
在我們公司本端的人是利用網路芳鄰開啟的方法
好像最近有人在反應很慢了
我的研究是…有時候一個檔會有將長80幾M
而這套進銷存使用FOXPRO好像是要開啟一個檔的話
就一定會把一個檔讀完在開
foxpro都是這樣嗎>"<
請問你的 foxpro 是哪個版本??
如果是 v5.0/6.0/7.0/8.0/9.0 都可以使過超過2G 的記憶體, 但是低階版本要更新 fix
FOXPRO 2.5B DOS 版我印象中是到1G, 另外其他的要變成 RAMDISK
但是因該沒人在 WIN2003跑 DOS 版吧
win2003 是 32位元作業系統, 超過 3g 要設定才可以讀到 4G 以上
win2003R2才是 64位元版
如果你使用 遠端桌面, 是會造成記憶體不足
FOXPRO 是史上最強大的資料庫系統, 但他是屬於前端資料庫, 只不過依現行的環境, 它是叫資料表, FOXPRO唯一是在 DOS 提供 SQL 語法和作業的資料庫語言, 但它不能和 SQL SERVER 混為一談, 兩者的作業模式是不同的
當 LOCAL 端的 PC 在開啟主機資料表時, 是不會佔主機的記憶體, 因為它是將資料 DOWNLOAD 到 CLIENT PC
但是你若用遠端桌面時:
1:一個 USER TASK 開啟的記憶體
2.FOXPRO執行的環境記憶體
3.處理的程序來決定記憶體的使用量
扣掉作業系統大約用掉 1G, 你大約剩2G, 30個USER 透過遠端, 是真的很勉強
如果軟體是你們自己開發的, 建議採用 SQL 架構, 但這是很困難的
或是利用遠端桌面進行磁碟的 MAP 但這樣沒效率
參考一下, 看看能不能改善
http://support.microsoft.com/kb/331964/zh-tw
goodnight提到:
FOXPRO 是史上最強大的資料庫系統
難怪 MS-SQL Database 被它幹掉
難怪 Oracle Database 被它幹掉
難怪 MySQL Database 被它幹掉
難怪 Postgres Database 被它幹掉
但是根據 線民來報
與事實不符
如果你去了解 ms 為什麼要買下 foxpro 就會知道其中的秘密
我的遠端桌面連線很單純
直接設參數開程式
還省掉了開explorer
所以用到的記憶體不大
開完程式資料量大的時候最多了不起50m
可是用來當進銷存應該不太適用(大一點檔案的話)
用vpn連線下載資料表下來只會下載到快睡著 = =
FOXPRO 是很強的資料庫, 你的問題在於版本和作業系統的匹配問題, 如果你用過 VFP 就不會這麼認為了, VFP9 可以結合 SQL SERVER (不一定是 MS SQL), 你的 FOXPRO 版本也會影響對資料處理的方式
DOS 就是只能開檔, 但是如果你寫成二層式加構, 也可以突破資料檔過大的問題
VFP 直接使用 SQL SERVER, 效率也能提升很多
現在流行的雲端, 也就是所謂的 WEB , 是完全能符合你的環境
goodnight提到:
FOXPRO 是很強的資料庫
同意+1...想當年也是靠Foxpro起家的...當年的一個案子, 需要能儲存影像資料, 就只有Foxpro能夠做到...強~~~
goodnight提到:
FOXPRO 是很強的資料庫
同意+1
程式能夠符合需求才是重點
舊年代的並不能代表一定爛 新的就一定好
我也算是VFP的一員
simon581923提到:
需要能儲存影像資料, 就只有Foxpro能夠做到.
我記得她的欄位型態應該是BINARY,所以應該是啥都能存,我當年也把啥都存進去...
cdfu提到:
BINARY
那是General型態欄位...那個BLOB還沒興起的年代啊~~~Foxpro真強!
hjmitt提到:
進銷存軟體裡,不是WIN出現的
進銷存軟體的記憶體管理問題...可以考慮換系統
hjmitt提到:
有時候一個檔會有將長80幾M
而這套進銷存使用FOXPRO好像是要開啟一個檔的話
就一定會把一個檔讀完在開
foxpro都是這樣嗎>"<
FOXPRO 的 data 其實不是資料庫, 是一種資料儲存格式
PostgresDB/mySQL 免費超強的資料庫性能你可以考慮一下
真資料庫不是用檔案位置連結
是用 service port 連結
可連結 300人 3000人
後端使用 Oracle/Postgres DB 的開放原碼 Adempiere ERP
可以滿足你的需求...
Xeon 2.13G的CPU 跑WIN20003
我有下線不用的 IBM Server 2台 可以送給你
我使用FOXPRO的機會不是很多,但就遠端桌面連線來看,我猜應該也是用網路芳鄰開啟,所以本端與遠端所使用的開啟方法應該是一樣的;
遠端一般來說不會有問題,但本端會有問題,
應該是本端的環境問題,,,,user一般來說不會在遠端安裝軟體,但本端的就精彩了;誰反應慢..你就應該好好看看他偷偷安裝了什麼非公事使用的軟體
如果你用網芳開一個近百M的檔案不會慢,那你用foxpro所開80幾M應該不會慢
我記得foxpro最高定址到1G, 超過的部份, 沒用的, 因為foxpro看不到, 錯誤的訊息上應該有說到這個問題, 這應該是記憶體不足的原因. 可以在此主機上安裝VMWare, VirtualBox, 啟3個虛擬機器, 每一個VM都限定在1G,多的沒用的, 每個VM可提供10個concurrent users, 至少 也有30個concurrent users. 也可以在每個近端的使用者上安裝虛擬機器, 就不必要公用一台主機.
這部份我也些許認同,雖然我不懂FOXPRO
不過我都加到4G了還會記憶體不足就有點誇張
目前公司的人還不多耶
在加上去的話不就倒了 = =
你說的方法真的滿不錯的耶,值得參考
不過WIN授權的問題你們都怎麼處理呢?
目前我們只有這台的ERP有授權30個遠端桌面
我記得預設的都只有2個
你這個方法真的很優良,很想按讚,有空在來試試
因為虛擬機器也是吃伺服器自已的網路,所以不會有DELAY的問題
有意見的請在提供一下
讚讚讚讚讚讚
謝謝, foxpro用不到多出的3G的, 只能被困在1G的牢籠裏. 因此會有記憶體不足的問題. 這是我實際見到的. 幾年前幫一家客戶解決的問題.
遠端桌面連線後看看FOXPRO 設定
如果還是用 UNC NAME 方式 (\\XXXX\XXX)
OR 網路磁碟機方式
還是會受網芳影響!
改成本機看看!
Foxpro只能在640MB的定址範圍內運作, 如果資料量變大, 記憶體不足是很可能發生的.
換系統是個主意, 但切記...樓上的Albert的話不要聽....
賽大
你都聽我的把 土產排除外了 你可以聽 別人不可以聽 有點不好意思 !!
大家都請我徒子徒孫當顧問 大家可以做 別人也可以作 有點不好意思 !!
過陣子看看ibm server有沒有收到就知道了
:))))
Albert老大, 開點小玩笑嘛~~
Albert老大, ibm server可以送我一台??
我猜, Albert送 ibm server, 應該還有 "魔鬼細節" 才對!
我也要 IBM SERVER, 拿來放腳, 高度剛剛好...
doesjudas提到:
還有 "魔鬼細節"
顧問費每小時50歐元, 至少買足1000小時的服務時數....
simon581923提到:
1000
最少 10小時
1000 小時 單價是 20歐元
德國目前 麥當勞 員工 起薪 是 10 歐元 / 一小時 = 3套大漢堡
simon 這麼聰明為何無法寫出 erp 自用
一定是教育出問題了
IBM 要送可以.要請他當顧問...呵呵
這個細節還不知道嗎??
無緣無故送台電腦.你猜那台要多少錢買阿??
難道是破電腦一台
“Out Of Memory” Does Not Refer to Physical Memory
The typical OOM(Out Of Memory) case in modern computers happens when the operating system is unable to create any more virtual memory, because all of its potential backing devices have been filled.
An “out of memory” error almost never happens because there’s not enough storage available; as we’ve seen, storage is disk space, and disks are huge these days. Rather, an “out of memory” error happens because the process is unable to find a large enough section of contiguous unused pages in its virtual address space to do the requested mapping.
If by chance there isn’t enough contiguous address space then the process will be unable to obtain a pointer to that data, and it is effectively useless. In that case the process issues an “out of memory” error. Which is a misnomer, these days. It really should be an “unable to find enough contiguous address space” error; there’s plenty of memory because memory equals disk space.
樓主要不要試試把DBF的大小縮一縮試試看
動輒幾百MB是很浪費資源的儲存方式呦