Conoscere programmi in cache e SWAP

Installazione, configurazione e uso di programmi e strumenti.
dadexix86
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 16364
Iscrizione: domenica 22 marzo 2009, 19:58
Desktop: Unity
Distribuzione: Ubuntu 18.04 x86_64
Località: Paris, France

Conoscere programmi in cache e SWAP

Messaggio da dadexix86 »

Ciao a tutti.

Al momento ho questa situazione in RAM e SWAP:

Codice: Seleziona tutto

$ free -h
             total       used       free     shared    buffers     cached
Mem:          7,7G       7,5G       159M       100M        75M       5,9G
-/+ buffers/cache:       1,5G       6,1G
Swap:         7,9G       408M       7,5G
E mi stavo chiedendo...

C'è un modo per conoscere quali programmi/dati sono in questa cache della RAM, quali programmi/dati sono nella SWAP e/o da quale processo sono stati generati?

Grazie mille in anticipo.

PS: Ho posto la stessa domanda su AskUbuntu e su Chiedi.
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40529
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt + Niri | Hyprland
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana

Re: Conoscere programmi in cache e SWAP

Messaggio da steff »

I miei due centesimi: tempo fa trovai uno script che genera questo

Codice: Seleziona tutto

swap-usage
..............................................................................
Overall swap used: 871728 kB
========================================
kB      pid     name
========================================
233256  2597    okular
77568   23996   mysqld
72220   24562   amarok
57404   13282   thunderbird
56104   20021   firefox
38808   1066    akregator
27392   871     razor-desktop
22284   875     razor-panel
20864   916     knotify4
13928   788     kwin
12884   878     razor-runner
11484   7196    kaption
10772   23994   akonadiserver
...
che è questo:

Codice: Seleziona tutto

#!/bin/bash

    # find-out-what-is-using-your-swap.sh
    # -- Get current swap usage for all running processes
    # --
    # -- rev.0.3, 2012-09-03, Jan Smid          - alignment and intendation, sorting
    # -- rev.0.2, 2012-08-09, Mikko Rantalainen - pipe the output to "sort -nk3" to 0 get sorted output
    # -- rev.0.1, 2011-05-27, Erik Ljungstrom   - initial version


SCRIPT_NAME=`basename $0`;
SORT="kb";                 # {pid|kB|name} as first parameter, [default: kb]
[ "$1" != "" ] && { SORT="$1"; }

[ ! -x `which mktemp` ] && { echo "ERROR: mktemp is not available!"; exit; }
MKTEMP=`which mktemp`;
TMP=`${MKTEMP} -d`;
[ ! -d "${TMP}" ] && { echo "ERROR: unable to create temp dir!"; exit; }

>${TMP}/${SCRIPT_NAME}.pid;
>${TMP}/${SCRIPT_NAME}.kb;
>${TMP}/${SCRIPT_NAME}.name;

SUM=0;
OVERALL=0;
    echo "${OVERALL}" > ${TMP}/${SCRIPT_NAME}.overal;

for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`;
do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`

    for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
    do
        let SUM=$SUM+$SWAP
    done

    if (( $SUM > 0 ));
    then
        echo -n ".";
        echo -e "${PID}\t${SUM}\t${PROGNAME}" >> ${TMP}/${SCRIPT_NAME}.pid;
        echo -e "${SUM}\t${PID}\t${PROGNAME}" >> ${TMP}/${SCRIPT_NAME}.kb;
        echo -e "${PROGNAME}\t${SUM}\t${PID}" >> ${TMP}/${SCRIPT_NAME}.name;
    fi
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "${OVERALL}" > ${TMP}/${SCRIPT_NAME}.overal;
echo;
echo "Overall swap used: ${OVERALL} kB";
echo "========================================";
case "${SORT}" in
    name )
        echo -e "name\tkB\tpid";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.name|sort -r;
        ;;

    kb )
        echo -e "kB\tpid\tname";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.kb|sort -rh;
        ;;

    pid | * )
        echo -e "pid\tkB\tname";
        echo "========================================";
        cat ${TMP}/${SCRIPT_NAME}.pid|sort -rh;
        ;;
esac
rm -fR "${TMP}/";
Poi ho configurato le colonne di top in modo di mostrarmi anche la swap in uso dei processi:

Codice: Seleziona tutto

KiB Mem:   3849464 total,  2295460 used,  1554004 free,    27840 buffers
KiB Swap:  5242876 total,  1163428 used,  4079448 free.   753756 cached Mem

  PID USER     S  %CPU %MEM COMMAND                                                                                                        SWAP 
24562 stef     S  31,2  2,5 amarok                                                                                                        72316 
20021 stef     S  29,5 13,6 firefox                                                                                                       55200 
  876 skype    S  11,6  0,8 skype                                                                                                         60152 
20813 stef     S  10,9  2,4 ktorrent                                                                                                          0 
  602 root     S  10,6  2,5 X                                                                                                             10660 
20838 stef     S   3,6  3,1 plugin-containe                                                                                                   0 
  788 stef     S   2,7  0,6 kwin                                                                                                          13948 
16751 stef     S   1,3  1,0 konversation                                                                                                    912 
  874 stef     S   1,0  0,4 yakuake                                                                                                        4456 
 1143 stef     S   0,7  0,3 mlnet                                                                                                          2464 
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
dadexix86
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 16364
Iscrizione: domenica 22 marzo 2009, 19:58
Desktop: Unity
Distribuzione: Ubuntu 18.04 x86_64
Località: Paris, France

Re: Conoscere programmi in cache e SWAP

Messaggio da dadexix86 »

@steff grazie per la segnalazione.

Me l'hanno segnalato anche nella domanda su AskUbuntu.

Hai invece info per i dati e processi in cache?
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
Avatar utente
VitoDoc
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2061
Iscrizione: domenica 6 maggio 2012, 18:01
Desktop: plasma
Distribuzione: KUbuntu 18.04 LTS
Sesso: Maschile

Re: Conoscere programmi in cache e SWAP

Messaggio da VitoDoc »

Scusate se approfitto di questo 3D ma credo sia superfluo aprirne un altro solo per una mia delucidazione, ovvero, chi mi spiega con esattezza l'output di free -h?

Codice: Seleziona tutto

free -h
             total       used       free     shared    buffers     cached
Mem:          5,8G       4,3G       1,5G        15M       954M       2,3G
-/+ buffers/cache:       1,1G       4,7G
Swap:         4,7G         0B       4,7G
cioè, in particolare, io starei usando 4,3 di 5,8gb??? e liberi ne ho solo 1,5??? Non capisco!! Dal monitor di sistema mi dice che utilizzo 1,1 di 5,8..... :sgrat:
Ultima modifica di VitoDoc il domenica 11 maggio 2014, 11:46, modificato 1 volta in totale.
dadexix86
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 16364
Iscrizione: domenica 22 marzo 2009, 19:58
Desktop: Unity
Distribuzione: Ubuntu 18.04 x86_64
Località: Paris, France

Re: Conoscere programmi in cache e SWAP

Messaggio da dadexix86 »

Ne hai liberi 1.5 GB (prima riga), ma usabili 4.7 (seconda riga), dato che i restanti 3.2 (la differenza) sono occupati da processi in cache e di buffering e quindi possono essere liberati e usati nel momento stesso in cui ti servono.

Nota a latere, con 5.8 GB di RAM è praticamente inutile avere una swap se non la usi per ibernare e, se la usi per ibernare, dovrebbe essere (di poco) più grossa della RAM.
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
Avatar utente
VitoDoc
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2061
Iscrizione: domenica 6 maggio 2012, 18:01
Desktop: plasma
Distribuzione: KUbuntu 18.04 LTS
Sesso: Maschile

Re: Conoscere programmi in cache e SWAP

Messaggio da VitoDoc »

dadexix86 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4580709#p4580709][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Nota a latere, con 5.8 GB di RAM è praticamente inutile avere una swap se non la usi per ibernare e, se la usi per ibernare, dovrebbe essere (di poco) più grossa della RAM.
Si lo so, il fatto è che ho aggiunto 4 gb di ram solo due giorni fa e quindi come intuirai avevo bisogno di una swap grossa che spesso e volentieri si riempiva con l'utilizzo normale del SO (conversioni video o utilizzo di virtualbox).
Grazie 1000 per la delucidazione :)
PS: come si liberano?
dadexix86
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 16364
Iscrizione: domenica 22 marzo 2009, 19:58
Desktop: Unity
Distribuzione: Ubuntu 18.04 x86_64
Località: Paris, France

Re: Conoscere programmi in cache e SWAP

Messaggio da dadexix86 »

Fa da solo il sistema operativo se ne ha bisogno :)

Oppure puoi forzarne la scrittura su disco, ma te lo sconsiglio.
Non si dà supporto tramite mp in forum
L'utilizzo del tasto [Code] quando scrivi in forum risolve i 2/3 dei tuoi problemi
Per problemi con Skype rivolgersi qui. | Un Matematico Migrante
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40529
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt + Niri | Hyprland
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana

Re: Conoscere programmi in cache e SWAP

Messaggio da steff »

Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 17 ospiti