J'ai un script Perl, récupère l'url comme http://1.1.1.1/1.jpg
depuis MySQL en utilisant DBI, et télécharge ce fichier jpg en utilisant LWP :: Simple. C'est une boucle infinie.Utilisation de la mémoire du script Perl
while (1) {
my $url=&fetch_url_from_mysql;
if ($url){
&download_jpg($url);
} else {
sleep 1;
}
}
Simple simple. Je suppose que l'utilisation de la mémoire resterait dans une certaine mesure. Mais après un mois de fonctionnement continu de ce script. L'utilisation de la mémoire est de 7,5G!
Comment puis-je le profiler?
Est-fetch_url_from_mysql ouverture d'une nouvelle connexion à chaque fois, et non la fermer? – xxpor
Oui. J'appelle 'DBI :: connect' avant que' while loop', dans 'fetch_url_from_mysql' soit' prepare, execute, fetch et retourne $ url' – everbox
En lavant votre code dans un exemple propre, vous avez emporté les parties qui utilisent réellement la mémoire. – DavidO