iT邦幫忙

0

進銷存記憶體不足!!?

hjmitt 2011-07-12 04:25:3413194 瀏覽
  • 分享至 

  • twitterImage

我們公司是用Xeon 2.13G的CPU
跑WIN20003
安裝一套foxpro的進銷存
之前記憶體只有1G
因為使用者從15個新增到30個左右
所以利用遠端桌面連線等於說30個人連線就要在伺服器端開30套進銷存
(一個人一個遠端桌面帳號)

新增使用者後剛開始會比較慢,也常常出現記憶體不足
所以就規劃升級記憶體
後來也升級到4G(2g+2g)~系統也有抓到3.99G的記憶體
我也把虛擬記憶體新設到4G了
可是
奇妙的是
還是會出現記憶體不足的情況(進銷存軟體裡,不是WIN出現的)
我看右下角的記憶體管理程式還剩下3G的記憶體耶 >"<
不知道是哪出了問題!
因為日後還會在增加新的使用者
我倒啊我!!!

對了…
因為我們是跑遠端桌面連線,所以使用者比較不會有開啟緩慢的問題
在我們公司本端的人是利用網路芳鄰開啟的方法
好像最近有人在反應很慢了
我的研究是…有時候一個檔會有將長80幾M
而這套進銷存使用FOXPRO好像是要開啟一個檔的話
就一定會把一個檔讀完在開
foxpro都是這樣嗎>"<

select *
select table_name
方法不同也有可能

可以增加HDD Swap空間試試
hjmitt iT邦新手 4 級 ‧ 2011-07-13 06:38:27 檢舉
我們公司沒有SOURCE CODE耶 Xd
這樣可以改嗎
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
goodnight
iT邦研究生 2 級 ‧ 2011-07-13 22:08:32
最佳解答

請問你的 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

看更多先前的回應...收起先前的回應...
Albert iT邦高手 1 級 ‧ 2011-07-13 22:12:08 檢舉

goodnight提到:
FOXPRO 是史上最強大的資料庫系統

難怪 MS-SQL Database 被它幹掉
難怪 Oracle Database 被它幹掉
難怪 MySQL Database 被它幹掉
難怪 Postgres Database 被它幹掉
但是根據 線民來報
與事實不符

goodnight iT邦研究生 2 級 ‧ 2011-07-13 22:42:12 檢舉

如果你去了解 ms 為什麼要買下 foxpro 就會知道其中的秘密

hjmitt iT邦新手 4 級 ‧ 2011-07-13 22:46:54 檢舉

我的遠端桌面連線很單純
直接設參數開程式
還省掉了開explorer
所以用到的記憶體不大
開完程式資料量大的時候最多了不起50m

hjmitt iT邦新手 4 級 ‧ 2011-07-13 22:47:52 檢舉

可是用來當進銷存應該不太適用(大一點檔案的話)
用vpn連線下載資料表下來只會下載到快睡著 = =

goodnight iT邦研究生 2 級 ‧ 2011-07-13 23:05:16 檢舉

FOXPRO 是很強的資料庫, 你的問題在於版本和作業系統的匹配問題, 如果你用過 VFP 就不會這麼認為了, VFP9 可以結合 SQL SERVER (不一定是 MS SQL), 你的 FOXPRO 版本也會影響對資料處理的方式
DOS 就是只能開檔, 但是如果你寫成二層式加構, 也可以突破資料檔過大的問題
VFP 直接使用 SQL SERVER, 效率也能提升很多
現在流行的雲端, 也就是所謂的 WEB , 是完全能符合你的環境

賽門 iT邦超人 1 級 ‧ 2011-07-13 23:16:54 檢舉

goodnight提到:
FOXPRO 是很強的資料庫

同意+1...想當年也是靠Foxpro起家的...當年的一個案子, 需要能儲存影像資料, 就只有Foxpro能夠做到...強~~~讚

goodnight提到:
FOXPRO 是很強的資料庫

同意+1

程式能夠符合需求才是重點
舊年代的並不能代表一定爛 新的就一定好
我也算是VFP的一員放馬過來

總裁 iT邦好手 1 級 ‧ 2011-07-15 13:09:21 檢舉

simon581923提到:
需要能儲存影像資料, 就只有Foxpro能夠做到.

我記得她的欄位型態應該是BINARY,所以應該是啥都能存,我當年也把啥都存進去...

賽門 iT邦超人 1 級 ‧ 2011-07-15 13:43:42 檢舉

cdfu提到:
BINARY

那是General型態欄位...那個BLOB還沒興起的年代啊~~~Foxpro真強!

ithomelee iT邦研究生 1 級 ‧ 2011-07-15 15:07:22 檢舉

simon581923提到:
當年的一個案子, 需要能儲存影像資料, 就只有Foxpro能夠

請問它會像 MS ACCESS 儲存影像資料時 ,檔案size就爆增嗎? (只是在每筆存放20k左右的JPG大頭照)

賽門 iT邦超人 1 級 ‧ 2011-07-15 16:31:55 檢舉

ithomelee提到:
檔案size就爆增

不會耶...存進20K, 可能只增加19K, 它會用壓縮方式存....

goodnight iT邦研究生 2 級 ‧ 2011-07-17 21:42:08 檢舉

存照片的話, 我是沒什麼經驗, 但是建議只存路徑, 照片檔用實體方式儲存就好

8
Albert
iT邦高手 1 級 ‧ 2011-07-12 08:14:11

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台 可以送給你

hjmitt iT邦新手 4 級 ‧ 2011-07-12 17:31:53 檢舉

這麼好喔,要送我 >"<
那我就不客氣了,記得寄來我家 xDDDD

近期我們公司會重新規劃ERP
因為公司整合的問題
另外一部份也是軟體不好用的問題
現在都是暫時使用而已
不過目前還能用是軟體設計不良來跟使用者說
換了的話就…要認真了 QQ

hjmitt提到:
桌面連線 程式是會在伺服器端打開,所以速度很快
他只是傳輸畫面和少許資料而已

我可以要一台嗎...哈.

6
henrylee
iT邦新手 1 級 ‧ 2011-07-12 09:49:28

我使用FOXPRO的機會不是很多,但就遠端桌面連線來看,我猜應該也是用網路芳鄰開啟,所以本端與遠端所使用的開啟方法應該是一樣的;
遠端一般來說不會有問題,但本端會有問題,

應該是本端的環境問題,,,,user一般來說不會在遠端安裝軟體,但本端的就精彩了;誰反應慢..你就應該好好看看他偷偷安裝了什麼非公事使用的軟體

如果你用網芳開一個近百M的檔案不會慢,那你用foxpro所開80幾M應該不會慢

hjmitt iT邦新手 4 級 ‧ 2011-07-12 17:34:18 檢舉

遠端桌面連線 程式是會在伺服器端打開,所以速度很快
他只是傳輸畫面和少許資料而已

其實要怎麼去觀察反應的問題我也沒有什麼比較好的方法耶 @@

早上他們開都還OK
到了下午就會開始反應速度了
然後我就會比較用「網芳」和「伺服器端」的速度
一般來說,就是用網芳的速度很卡
我自已的判斷是網路上芳鄰傳輸的問題。

4
bizpro
iT邦大師 1 級 ‧ 2011-07-12 15:34:21

我記得foxpro最高定址到1G, 超過的部份, 沒用的, 因為foxpro看不到, 錯誤的訊息上應該有說到這個問題, 這應該是記憶體不足的原因. 可以在此主機上安裝VMWare, VirtualBox, 啟3個虛擬機器, 每一個VM都限定在1G,多的沒用的, 每個VM可提供10個concurrent users, 至少 也有30個concurrent users. 也可以在每個近端的使用者上安裝虛擬機器, 就不必要公用一台主機.

看更多先前的回應...收起先前的回應...
hjmitt iT邦新手 4 級 ‧ 2011-07-12 17:37:01 檢舉

這部份我也些許認同,雖然我不懂FOXPRO
不過我都加到4G了還會記憶體不足就有點誇張
目前公司的人還不多耶
在加上去的話不就倒了 = =

你說的方法真的滿不錯的耶,值得參考
不過WIN授權的問題你們都怎麼處理呢?
目前我們只有這台的ERP有授權30個遠端桌面
我記得預設的都只有2個

hjmitt iT邦新手 4 級 ‧ 2011-07-12 17:38:00 檢舉

你這個方法真的很優良,很想按讚,有空在來試試
因為虛擬機器也是吃伺服器自已的網路,所以不會有DELAY的問題
有意見的請在提供一下
讚讚讚讚讚讚

bizpro iT邦大師 1 級 ‧ 2011-07-12 22:35:11 檢舉

謝謝, foxpro用不到多出的3G的, 只能被困在1G的牢籠裏. 因此會有記憶體不足的問題. 這是我實際見到的. 幾年前幫一家客戶解決的問題.

sula3065408 iT邦研究生 1 級 ‧ 2011-07-13 14:04:52 檢舉

不知道是不是版本的問題,我記得遇到的FOXPRO上限是768M。

bizpro iT邦大師 1 級 ‧ 2011-07-13 14:24:05 檢舉

有可能, 我記得foxpro在程式的一開始可以呼叫一個系統功能來設定記憶體, 至於能設多大, 不論是512M, 640M, 或768M, 都不會超過1G. 這在那個年代已是天文數字了.

hjmitt iT邦新手 4 級 ‧ 2011-07-13 15:56:49 檢舉

我看了一下我們的dBase是5版的

2
dscwferp
iT邦高手 1 級 ‧ 2011-07-12 18:18:43

遠端桌面連線後看看FOXPRO 設定
如果還是用 UNC NAME 方式 (\\XXXX\XXX)
OR 網路磁碟機方式
還是會受網芳影響!
改成本機看看!

hjmitt iT邦新手 4 級 ‧ 2011-07-12 22:55:52 檢舉

請問怎麼看啊 @@
我們遠端桌面連線是因為電腦不在公司
是透過企業專線讓 其他據點用實體ip連線的
用vpn沒用
因為…foxpro要把檔讀完才能開
會死人的 @@

4
賽門
iT邦超人 1 級 ‧ 2011-07-12 22:15:43

Foxpro只能在640MB的定址範圍內運作, 如果資料量變大, 記憶體不足是很可能發生的.

換系統是個主意, 但切記...樓上的Albert的話不要聽....毆飛

看更多先前的回應...收起先前的回應...
Albert iT邦高手 1 級 ‧ 2011-07-12 22:22:21 檢舉

賽大

你都聽我的把 土產排除外了 你可以聽 別人不可以聽 有點不好意思 !!

大家都請我徒子徒孫當顧問 大家可以做 別人也可以作 有點不好意思 !!

hjmitt iT邦新手 4 級 ‧ 2011-07-13 06:40:07 檢舉

過陣子看看ibm server有沒有收到就知道了
:))))

賽門 iT邦超人 1 級 ‧ 2011-07-13 09:26:30 檢舉

Albert老大, 開點小玩笑嘛~~偷笑

賽門 iT邦超人 1 級 ‧ 2011-07-13 09:27:27 檢舉

Albert老大, ibm server可以送我一台??謝謝

doesjudas iT邦新手 2 級 ‧ 2011-07-13 10:21:23 檢舉

我猜, Albert送 ibm server, 應該還有 "魔鬼細節" 才對!

鐵殼心 iT邦高手 1 級 ‧ 2011-07-13 11:34:15 檢舉

我也要 IBM SERVER, 拿來放腳, 高度剛剛好...開心

賽門 iT邦超人 1 級 ‧ 2011-07-13 12:40:08 檢舉

doesjudas提到:
還有 "魔鬼細節"

顧問費每小時50歐元, 至少買足1000小時的服務時數....偷笑

Albert iT邦高手 1 級 ‧ 2011-07-13 12:58:17 檢舉

simon581923提到:
1000

最少 10小時

1000 小時 單價是 20歐元

Albert iT邦高手 1 級 ‧ 2011-07-13 13:01:03 檢舉

德國目前 麥當勞 員工 起薪 是 10 歐元 / 一小時 = 3套大漢堡

Albert iT邦高手 1 級 ‧ 2011-07-13 22:16:55 檢舉

simon 這麼聰明為何無法寫出 erp 自用
一定是教育出問題了

賽門 iT邦超人 1 級 ‧ 2011-07-13 23:04:30 檢舉

Albertachen 這麼聰明為何無法寫出 erp 自用
一定是自己有問題了

我這麼聰明為何無法寫出 erp 自用
一定是派大星有問題了謝謝

我生的兒子連一行程式都寫不出來
一定是我的XX有問題Orz

2
ezpos
iT邦新手 5 級 ‧ 2011-07-13 12:29:38

IBM 要送可以.要請他當顧問...呵呵
這個細節還不知道嗎??

無緣無故送台電腦.你猜那台要多少錢買阿??
難道是破電腦一台

賽門 iT邦超人 1 級 ‧ 2011-07-13 12:40:52 檢舉

ezpos提到:
要請他當顧問

一語中的!

ezpos??您在做POS系統??

hjmitt iT邦新手 4 級 ‧ 2011-07-13 15:55:19 檢舉

A大沒說啊,所以我應該可以直接帶走吧 q.q
現在power只剩一顆,拿一顆來補一下 qq

ezpos iT邦新手 5 級 ‧ 2011-07-25 13:59:26 檢舉

要解決這問題很簡單
foxpro屬於DBF格式.跟SQL 差異很大
每一個client去抓資料.納server都會把需要的資料整個都放在server傳送
所以server會很消耗記憶體...你使用遠端桌面程式太多人時.當然會造成問題

解決方式.把不需要遠端桌面的使用者.程式都安裝在使用者電腦.如果是異地的
才使用遠端桌面...

2
ithomelee
iT邦研究生 1 級 ‧ 2011-07-15 10:21:06

“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.

2
liurambo0911
iT邦高手 1 級 ‧ 2011-07-15 12:25:18

樓主要不要試試把DBF的大小縮一縮試試看
動輒幾百MB是很浪費資源的儲存方式呦

賽門 iT邦超人 1 級 ‧ 2011-07-15 12:59:23 檢舉

毆飛> liurambo0911提到:

把DBF的大小縮一縮

怎麼縮? 向哆啦A夢借縮小燈??

simon581923提到:
怎麼縮? 向哆啦A夢借縮小燈??

我猜,可能是類似Pack的做法吧

另外
很少人敢對藍波做出毆飛的動作

難道你是魯夫飛

賽門 iT邦超人 1 級 ‧ 2011-07-15 13:47:27 檢舉

啊! K錯地方了.....Rambo老大..我明明是要放在縮小燈三個字後面的...不小心K到Rambo.....暈

不明
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答