2015-11-03 21 views
-1

用戶通過HTML形式發送文件 安裝在服務器上的CGI腳本接收文件並將其寫入磁盤。儘可能簡單。 據我所知,通過POST發送到服務器的文件在被寫入磁盤之前會被存儲在服務器的RAM中。 (如果我不對 - 請糾正我)。 問題是,如果文件,用戶發送,權重2GB和服務器(例如)只有1 GB的內存在板上?那麼會發生什麼? 謝謝!在CGI查詢中如何使用RAM?

+2

內存分頁到磁盤 – Sobrique

+0

@Sobrique謝謝! – Arsenii

+1

CGI.pm將文件寫入磁盤的全部原因是爲了避免吞噬大量的RAM,因此聲稱整個文件在寫入磁盤之前存儲在RAM中似乎對我完全是無稽之談。 – ikegami

回答

1

CGI.pm將文件寫入磁盤的全部原因是爲了避免吞噬大量的RAM,因此聲稱在寫入磁盤之前將整個文件存儲在RAM中是沒有意義的。

CGI.pm將它寫入磁盤,因爲它從apache的管道讀取它。

+0

謝謝。 Ikegami,你能告訴我,如果我已經將CGI腳本接收到該文件,然後在將它寫入磁盤之前,我必須處理它(例如,將它放入數組中,通過少量數據分割並操縱它數組,只有在寫入磁盤之後,會發生什麼?在這種操作期間將使用哪些內存? – Arsenii

+1

是的,數組存在內存中。 – ikegami

+0

有沒有機會應付它?我的意思是說,有沒有機會以任何方式在磁盤上的陣列沒有速度損失?我試過DBM ::深,但它需要幾小時的操作...在MacBook Pro i7 2.8Ghz 2014 ....這是可怕的..是否有任何其他解決方案?您對PDL有什麼看法?是否值得去嘗試? – Arsenii