Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-07-2008, 09:20   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 7476
[C] malloc enorme

Ciao,
avrei due domande sulla malloc.

1)Supponiamo che ho 2 gb di RAM sulla mia macchina. Cosa succede se faccio una malloc di più di 2 gb? L'applicazione schianta o comunque alloca fino a che può?

2) Caso di prima, quindi 2gb di RAM, ma solo 500 mb liberi. Se alloco più di 500 mb che succede?
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 09:29   #2
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
1) No. Non perche' hai 2 G di RAM, ma perche', normalmente, Windows non mette a disposizione di un processo utente piu' di 2 G di spazio di indirizzamento virtuale.

2) La memoria potrebbe essere allocata in quanto il sistema pagina su disco.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 09:46   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Unrue Guarda i messaggi
Ciao,
avrei due domande sulla malloc.

1)Supponiamo che ho 2 gb di RAM sulla mia macchina. Cosa succede se faccio una malloc di più di 2 gb? L'applicazione schianta o comunque alloca fino a che può?
Se hai modificato il boot.ini in modo da ammettere 3.2GB per processo allochi con successo altrimenti ottieni NULL.

Quote:
2) Caso di prima, quindi 2gb di RAM, ma solo 500 mb liberi. Se alloco più di 500 mb che succede?
Se rientri nei limiti previsti per processo (2 o 3.2GB) swappi di brutto se utilizzi effettivamente quella memoria.
Nel caso di immagini RAW non è difficile superare i 500MB.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 09:47   #4
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 7476
Quote:
Originariamente inviato da lorenzo001 Guarda i messaggi
1) No. Non perche' hai 2 G di RAM, ma perche', normalmente, Windows non mette a disposizione di un processo utente piu' di 2 G di spazio di indirizzamento virtuale.

2) La memoria potrebbe essere allocata in quanto il sistema pagina su disco.
E sotto Linux?
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 10:06   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da Unrue Guarda i messaggi
Ciao,
avrei due domande sulla malloc.

1)Supponiamo che ho 2 gb di RAM sulla mia macchina. Cosa succede se faccio una malloc di più di 2 gb? L'applicazione schianta o comunque alloca fino a che può?
Il successo o il fallimento della malloc non dipende dalla ram disponibile, in quanto alloca indirizzi virtuali, non fisici (c'è comunque un limite di "overcommit ratio", mi sembra).
Nel caso di linux, inoltre, la malloc è limitata a una certa quantità (anche su macchine a 64 bit), non ricordo quale esattamente; per allocazioni enormi tipo la tua, è consigliabile una mmap anonima (v. man mmap). Meglio ancora se effettuata con huge pages (v. google per hugetlbfs).
Infine, lo spazio di indirizzi su una macchina a 32 bit per processo è di 3GB, ma non so se riesci a trovare un buco di 2GB di indirizzi per la tua mmap (v. /proc/self/maps per informazioni sul tipico layout degli indirizzi di un processo).

Quote:
2) Caso di prima, quindi 2gb di RAM, ma solo 500 mb liberi. Se alloco più di 500 mb che succede?
Che gli indirizzi virtuali vengono allocati comunque (se sono disponibili).

In sintesi, se hai bisogno di tutti quegli indirizzi, hai bisogno di una macchina a 64 bit.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 12:10   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
Infine, lo spazio di indirizzi su una macchina a 32 bit per processo è di 3GB
Con 32 bit non sono indirizzabili direttamente 4GiB o ricordo male?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 12:57   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Con 32 bit non sono indirizzabili direttamente 4GiB o ricordo male?
1GB sono riservati agli indirizzi del kernel, non accessibili dallo spazio utente.

E' una scelta dettata dalle prestazioni; c'era in giro fino a qualche tempo fa una patch per avere uno spazio separato 4GB/4GB per il kernel e le applicazioni, ma aveva un certo impatto computazionale. Stava nel ramo -mm, non so se c'è ancora.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2008, 13:23   #8
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19150
Quote:
Originariamente inviato da Unrue Guarda i messaggi
E sotto Linux?
su architettura 32 bit qualche tempo fa avevo notato che non andava oltre i 2,7GB per processo, anche spezzando in più chiamate a malloc
io dovevo arrivare a 16GB e facevo diverse fork allocando 2GB per processo
recoil è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Ray-Ban Meta Audio: arrivano gli occhial...
Apple TV 4K: chip A19, CPU più veloce de...
Il mercato console sprofonda: i rincari ...
Apple Home Collection: videocamere 2,5K,...
Apple presenta HomeView, il nuovo hub do...
Apple HomePod mini 2 arriva in Italia: a...
SFSCON 2026: la sovranità digital...
Cooler Master GPU Shield arriva in Europ...
Wolters Kluwer Tax & Accounting pote...
NVIDIA accelera il DLSS 5: il nuovo mode...
Character.ai in bancarotta, Disney pront...
realme passa a ColorOS 17 con Android 17...
OPPO presenta ColorOS 17: più flu...
Giochi PS2 su smartphone Android: ARMSX2...
Ecco il nuovo tool semplificato per alle...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v