Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: El Berto - 15 Febbraio 2013, 09:29:15

Titolo: Out of memory comando SHELL?
Inserito da: El Berto - 15 Febbraio 2013, 09:29:15
Nella mia applicazione eseguo l'aggiornamento dell'ora (non so perchè ma l'orologio di sistema è sempre qualche secondo fuori con l'ora esatta):

Codice: [Seleziona]
SHELL ("sudo ntpdate 0.europe.pool.ntp.org")

Allora, per controllare meglio la cosa, ho inserito un secondo comando:

Codice: [Seleziona]
SHELL ("free | grep cache: | awk '{print $3}'") WAIT TO DummyString

per avere in DummyString la memoria occupata.

L'utilizzo della memoria è circa 22% (con memoria da 1 giga).
Poi si blocca (Out of memory), ma mi succede sempre con il comando SHELL.

Qualcuno saprebbe illuminarmi?
Grazie.

Titolo: Re: Out of memory comando SHELL?
Inserito da: md9327 - 15 Febbraio 2013, 10:28:50
Domande:

1) pulisci la stringa ogni volta?
2) ogni quanto ripeti la shell?
3) durante l'esecuzione, hai provato a monitorare le risorse con top (fuori gambas)?
Titolo: Re: Out of memory comando SHELL?
Inserito da: El Berto - 15 Febbraio 2013, 10:48:35
Stringa: la stringa viene utilizzata anche da altre parti, comunque la stringa vado a riscriverla ogni volta, non vado a fare &=.
Poi la stringa la uso solo in questo caso (per monitorare la memoria), nelle altre chiamate di SHELL non uso stringhe....

Le SHELL vengono chiamate ogni mezz'ora (quella per l'aggiornamento dell'ora), mentre la SHELL per leggere la memoria occupata ogni 20 minuti.

TOP non lo conoscevo, proverò adesso a guardare anche quello.

Quello che non mi convince è che se io sto a guardare 2-3 ore la percentuale di memoria utilizzata non cambia molto, poi mi ritrovo "Out of memory".

Intanto proverò a fare un log di TOP....
Titolo: Re: Out of memory comando SHELL?
Inserito da: fsurfing - 15 Febbraio 2013, 12:23:47
Invece di usarre shell per ricavare l ora, prova ad utilizzareun http client,
Ma sei riuscito a capire quale dei due comandi shell provocay il problema?

Ps: come fai a usare sudo in shell?
Titolo: Re: Out of memory comando SHELL?
Inserito da: El Berto - 15 Febbraio 2013, 17:56:10
Guarda, suppongo che il comando per l'aggiornamento lo abbia inserito nel file sudoers.

Non sono ancora riuscito a capire cosa mi richiede più memoria....

P.S.
Cosa intendi dire con http client?
Un comando del tipo http client (ntp.pool.it....)?
Titolo: Re: Out of memory comando SHELL?
Inserito da: fsurfing - 16 Febbraio 2013, 20:55:21
ma per avere l' ora sempre sincronizzato , forse ti basta scrivere :

Codice: [Seleziona]

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org
nel file :

driftfile /var/lib/ntp/ntp.drift

o almeno è quello che ho capito leggendo sul sito di ntp