jest taka aplikacja która bierze dużo ramu i po pewnym czasie z braku wolnego ramu(około20% całego)
Aplikacja wyłącza się.
Są jakieś sposoby żeby przydzielić więcej ramu na tę apliakcje albo żeby jakoś tego zapychającego sie ramu uniknąć?
sawex napisał(a)
jest taka aplikacja która bierze dużo ramu i po pewnym czasie z braku wolnego ramu(około20% całego)
Legendę opowiadasz? Jaka aplikacja?
Jest to server pewnej gry i po pewnym czasie wyskakuje "Bad alloc()" cośtam.
może tworzysz za dużo zmiennych poprzez NEW i w pewnym czasie brakuje Ci już ramu do tworzenia więcej zmiennych i bump ; d
skąd wiadomo, że to brak pamięci RAM?
najłatwiejszym sposobem jej zwiększenie polegające na zakupieniu i ich dołączeniu ich do komputera.
Proponowałbym przeczytać instrukcję do gry zwracając uwagę na wymagania sprzętowe.
bad_alloc
jest rzucane wtedy, kiedy w pamięci procesu nie można znaleźć wystarczająco dużego kawałka pamięci żeby nowy obiekt zaalokować. Zazwyczaj nie ma to związku z pamięcią RAM, gdyby brakło RAMu to system by zapisał część danych do swapu i uzyskaną w ten sposób przestrzeń przyznał procesowi, który jej potrzebuje. Zwykle program ma dostępne 2GB więc albo masz problem z ogromną fragmentacją sterty (efekt chaotycznego alokowania i zwalniania ogromnej ilości obiektów mniejszych niż alokowane obecnie) albo twój program cieknie jak wytarta prezerwatywa.
Na mszynie jest 8 gb ram. Przy około 20% sie włąśnie bład pojawia.
Jak tym wycieką zapobiec? I jak je wykryć?
Skoro ty nam opowiadasz bajki (bo w windowsie ram się nie kończy), to ja dla odmiany odpowiem Ci poważnie: Kolego, o ile nie jesteś twórcą tej aplikacji, to wybrałeś złe forum! Tutaj rozwiązujemy problemy wspólnie a autorami programów. Skoro ta aplikacja nie działa, skontaktuj się z administratorem komputera, w celu zdeinstalowania aplikacji! NIE DZIAŁA i już. A jak możesz, to daj bugreporta do autora programu.
około 20% z 8 GB to pewnie 2 GB, coby sugerowało że aplikacja jest 32-bitowa. w takim przypadku i 64 GB RAM nie pomogą, bo aplikacja ma do dyspozycji tylko 2 GB.
Kiedyś pomagali tu reverse engineerzy, nawet Gynvael, może ktoś by pokazał, jak wytropić memleak i usunąć, ale do tego autor wątku musi chyba udostępnić aplikację.
Nie pisze bajek..... a tak poza tym to jest linux bo server jest dedykowany ;o
I tak nie ejstem twórcą. Ale to jest na open sourcowych czy jakichśtam źródłach rozprowadzane.
skoro jest to open source, to przestałbyś pisać zagadkami, tylko dał linka do źródeł.
bo teraz masz zerowe szanse żeby ktoś tu pomógł.
Istnieje takie rozwiązanie, które jest dobre w pewnych sytuacjach. Możesz z niego skorzystać.
Mam wrażenie, że jesteś zwykłym trollem. Długo będziesz ciągnął tę jałową dyskusję czy może przejdziesz do konkretów?
Karolaq napisał(a)
Mam wrażenie, że jesteś zwykłym trollem.
Nie troll, chociaż też na "t". Tibijczyk próbujący utrzymać jakiś dupny serwer robiony (przerabiany?) przez podobnych jemu pajaców: http://venezuela.otservlist.org/ots/1176569. Nie chce się do Tibii przyznawać bo pewnie sam kiedyś podrzucał trojany na 4programmers.
Sorry że tak długo nie odpisywałem ale sa wakacje i jakoś tak wyszło.
Co do 2 panów Up. Nie jestem trollem i nie mam zamairu jakichś keyloggerów dawać...
Prosze oto link do źródeł nieprzerabianych (w moich nie dodawałem nic co by korzystało z tworzenia nowych obiektów za pomocą "new" więc różnicy zasadniczej nie ma)
http://otland.net/subversion.php?svn=public&file=listing.php&repname=forgottenserver&path=%2Ftags%2F0.2pl12%2F#ab853b62b67bb6bbfca4e167d7be1cb96