最近項目涉及到無法無法分配大小為558.9 Mb的矢量的解決辦法的問題,具體解決方法如下:
首先檢查當前的內存限制
memory.limit()
1600#表示當前只有1.6M的內存分配的能力重新設置內存限制
memory.limit(1000000)
這次設置約為1G內存,然后問題就解決了,雖然設置是1G,但是實際的使用會遠超1G,我在使用過程中16G內存幾乎被吃完,網頁都打不開,所以做生物信息還需要高配置
R語言中常見的內存指令
memory.size(T)查看已分配內存
memory.size(F)查看已使用內存
memory.limit()查看內存上限
object.size()看每個變量占多大內存。
memory.size()查看現在的work space的內存使用
memory.limit()查看系統規定的內存使用上限。如果現在的內存上限不夠用,可以通過memory.limit(newLimit)更改到一個新的上限。注意,在32位的R中,封頂上限為4G,無法在一個程序上使用超過4G (數位上限)。這種時候,可以考慮使用64位的版本。