ghci
için, ben bütün programı derlerken bellek GHCiRTS seçeneklerini runghc'e nasıl aktarabilirim?
$ ghci +RTS -M10m -RTS
tarafından kullanabilirsiniz sınırlayabilir, bunu nasıl yapabilirim sonra
$ ghc -rtsopts a.hs
$ ./a +RTS -M10m
olabilir runghc a.hs
için? runghc a.hs +RTS -M10m
gibi çeşitli yöntemler denedim, ancak bunların hiçbiri işe yaramıyor. Ben hafızayı sınırlayabilir tek seçenek
$ export GHCRTS='-M10m'
$ runghc a.hs
tarafından, ama bu yalnızca bir kez olmak istiyorum, bu yüzden runghc
argümanlar ileterek bu yapmayı tercih ederim.
Düzenleme: top
için
-- a.hs
f x = f (f x)
main = print $ seq (f 0) 0
Açık iki terminalleri, tek: seçeneği (Ben daha iyi yollar bilmiyorum sırf) aşağıdaki stratejiyi kullanarak çalışma olup olmadığını kontrol ediyorum kodu çalıştırmak için komut ve başka bir. Yürütme "Yığın yorgun" demeyi bırakırsa, -M[number]m
'un çalışmakta olduğu sonucuna varıyorum. Eğer yürütme devam ederse ve büyük miktarda hafıza kullanıyorsa, süreci öldürür ve bunun başarılı olamadığı sonucuna varır.
"runghc + RTS -M10m a.hs" veya "runghc -rtsopts a.hs + RTS -M10m"? (Sadece tahmin ediyorum) – Dogbert
@Dogbert İkisini de denedim ve işe yaramadı. Her neyse teşekkürler :( – Yosh
Bayrağın programdan ayarlanıp ayarlanmadığını nasıl kontrol ediyorsunuz? – Dogbert