C'è un modo per inviare una notifica di ringhio quando un'applicazione raggiunge una certa soglia di memoria?

1

Ho notato che Safari salta alle stelle in termini di utilizzo della memoria. Ho ottenuto alcuni risultati riavviandolo, ma mi chiedo se ci sia un'app o un semplice script da eseguire che invierebbe una notifica di growl (o qualche altro tipo di notifica) per informarmi che ha raggiunto, facciamo Dì 200 MB, e poi saprei che potrebbe essere il momento di riavviarlo.

    
posta drury 23.06.2011 - 20:27
fonte

2 risposte

3

Ho trovato la soluzione brillante di qualcuno per questa esatta richiesta su su MacHints .

È un post di quattro anni, ma il metodo dovrebbe ancora funzionare.

    
risposta data 23.06.2011 - 21:09
fonte
3

Se eseguirai un programma di "monitoraggio", consumerai memoria. Il mio Safari dopo il riavvio occupa 128 MB di RAM, ora quando si scrive questa risposta ha 156 MB - quindi 200 MB arriveranno molto presto. Ho solitamente 600 + MB Safari e non è un problema (ho 4 GB di RAM).

Vuoi davvero riavviarlo dopo 200 MB?

Puoi ad esempio eseguire il prossimo script di shell:

#!/bin/bash
mymax=200000       #in kb
checkinterval=60   #in seconds

while :
do
    ops=($(ps axu | grep Safari | grep -v grep))
    [[ ${ops[5]:-0} > $mymax ]] && growlnotify -a "Safari" -m "memory; ${ops[5]}"
    sleep $checkinterval
done

verificherà ogni minuto l'utilizzo della memoria Safary. Quando l'utilizzo della ram residente (rss) supera i 200 kb, apparirà il messaggio growl. Per questo è necessario aver installato il comando shell "growlnotify" dall'immagine di installazione di Growl - > Extra.

Puoi salvare quanto sopra in "safariwarn.command" e fare doppio clic su di esso dal Finder. (verrà eseguito come Terminal.app)

Oppure, è possibile eseguire come un'applicazione ciò che puoi fare con Automator.app.

    
risposta data 23.06.2011 - 21:04
fonte

Leggi altre domande sui tag