Linux – Liberare la swap quando serve

Pubblicato il Scritto il da

Quando il vostro PC swappa, allora il suo rallentamento sarà inesorabile.
I dati presenti nella memoria swap non si sposteranno in RAM fintantoché un processo non ne richiederà l’utilizzo.
Solo in questo caso la porzione di dati utili al processo verrà spostata dalla swap alla memoria volatile del vostro PC (se ce ne è abbastanza) ed è questo “trasloco” che causa il degrado delle prestazioni del vostro computer.

Esempio:
Vi potreste trovare in una situzione in cui la vostra RAM (8GB) è piena al 50% e la vostra swap (8GB) è piena al 25%. Perchè allora il sistema operativo non sposta i dati dalla swap alla RAM automaticamente?
Risposta veloce: perchè è così!
Risposta meno veloce: perchè il “traslocco” è esoso di risorse e finchè quello che è in swap non serve, allora resterà in swap.

Quindi in situazioni simili non si può fare nulla?
In realtà qualcosa si può fare, ma non è un procedimento esente da problemi (trovare quali possono essere i problemi ve lo lascio come compito per casa ;)).

Se volete comunque rischiare, lanciate da console i seguenti comandi:
sudo swapoff -a
sudo swapon -a

Questo azzererà la swap muovendo i suoi dati nella RAM (se ci stanno) e in seguito riabilità la swap.
Il processo non è immediato, ricordate «“il “traslocco” è esoso di risorse» [cit.]

Curiosità:
Mentre è in esecuzione il comando “sudo swapoff -a” lanciate in un altro terminale “htop” o “top” e date un occhio alla RAM e alla swap.

Buon “traslocco”! 😉

Vedi anche:

Ubuntu – Crash con click multipli su l’icona del launcher

Pubblicato il Scritto il da

Crash con click multipli su l’icona del launcher di un programma con più sessioni avviate

Unity logo
Unity logo

Continua la mia avventura professionale in Ubuntu/Unity. Devo ammettere che non è così poco soddisfacente come credevo, Kubuntu/KDE resta comunque il mio preferito.

A causa del gran numero di Java appplication che dovevo avviare sul mio portatile, 8 GB di RAM iniziavano ad essere stretti.

Volevo limitare alcuni effetti grafici di Unity non essenziali, così ho iniziato a giocare un po’ con Unity tweak tool, ma ho fatto dei danni. In particolare il DE si freezzava e crashava quando cliccavo nel launcher sull’icona di un programma attualmente in foreground.
La situazione cominciava ad essere molto scomoda. Pur conoscendo il problema (bug riconosciuto), non di rado accidentalmente mi capitava di scontrarmi con il crash.

Googlando e provando soluzioni varie, ho infine trovato quella che mi ha risolto il problema. Vediamo cosa ho fatto:

  • Installare il tool dconf:
    sudo apt-get install dconf-tools
  • Effettuare il reset di Compiz (odio questo composer grafico dai tempi in cui andava a braccetto con Emerald):
    dconf reset -f /org/compiz/
  • Riavviamo Unity:
    setsid unity

Una volta rieffettuato il login, il problema non si è più presentato!

Buon fix! 😉

Ubuntu – Modificare formato ora

Pubblicato il Scritto il da

Negli ultimi tempi ho dovuto utilizzare Ubuntu e la sua poco comoda Unity.
Essendo un vecchio utilizzatore di Kubuntu, l’adattamento al desktop environment “ufficiale” di Canonical non è stato facile.

Sto cercando di modellare il workspace alle mie esigenze ed una parte fondamentale è la visualizzazione della data e dell’ora.
Vediamo come modificarne il formato nella barra superiore, o “indicators”:

  • Installare dconf-editor:
    sudo apt-get install dconf-tools
  • Avviare dconf-editor e navigare in com > canonical > indicator > datetime
  • Selezionare il valore “custom” per la chiave “time-format
  • Nel caso in cui desiderate una visualizzazione di questo tipo: GG/MM/AAAAA – HH:MM, allora settate il valore di custom-time-format a “%d/%m/%G – %H:%M %p
dconf-tool
dconf-tool

Per una completa descrizione dei possibili valori utilizzabili vi consiglio questa pagina.

Buon setting a tutti! 😉

Installare XDebug in Ubuntu 14.04

Pubblicato il Scritto il da

XDebug, puoi solo amarlo od odiarlo, nessuna via di mezzo purtroppo.
Il noto debugger non è sicuramente un condensato di stabilità ed usabilità, ma di certo è l’unica alternativa free per migliorare i nostri sviluppi in PHP.

E ‘abbastanza facile installarlo su Ubuntu, vediamo come fare. Prima di tutto da console, lanciare il seguente comando:

sudo apt-get install php5-xdebug

Il quale installerà l’ultima versione, al momento della stesura di questo post è la 2.2.3. Ora aggiornare le opzioni in /etc/php5/apache2/php.ini:

# XDebug
 zend_extension="/usr/lib/php5/20121212/xdebug.so"
 xdebug.remote_enable=1
 xdebug.remote_handler=dbgp
 xdebug.remote_mode=req
 xdebug.remote_host=127.0.0.1
 xdebug.remote_port=9000
 xdebug.max_nesting_level=300

Riavviate Apache2:

sudo service apache2 restart

Ed il gioco è fatto. Buon debugging!

Linux – Visualizzare un file di log in tempo reale sullo schermo

Pubblicato il Scritto il da

Oggi mi pongo la seguente domanda: come faccio a vedere l’aggiornamento del file di log in tempo reale?

Beh! Facilissimo!

Il comando da lanciare in console è:

tail -f /var/log/file.log

Per stoppare l’esecuzione basterà digitare CTRL+C.

Buona visione! 😉

Linux: Usare wget con una basic authentication

Pubblicato il Scritto il da

Espresso news.

Se avete bisogno di scaricare dei file dalla rete protetti da una basic authentication, avrete bisogno di questa riga di codice da eseguire da terminale:

wget --http-user=USERNAME --http-password=PASSWORD http://SOMETURLTOFILE

Buon download! 😉

Phpmyadmin – Disabilitare i popup per la creazione di nuove tabelle

Pubblicato il Scritto il da

Phpmyadmin è una praticissima web application che ci permette di amministrare i nostri database MySQL.

Con l’avanza delle versioni si possono gustare nuova funzionalità, recentemente la sezione dedicata alla stored procedure è la mia preferita! 😉

Non mancano però alcuni punti poco attraenti dell’applicativo, uno fra tutti: l’utilizzo di pop-up modali per la creazione/modifica delle tabelle o delle procedure. A mio avviso non è il modo migliore per gestire questa funzionalità.

Fortunatamente c’è la possibilità di disabilitare questa opzione e di far aprire l’editor delle tabelle (o delle procedure) in una nuova pagina, vediamo come fare:

  • Apriamo il file “/var/lib/phpmyadmin/config.inc.php” con un utente amministratore, possiamo farlo digitando:
    sudo kate /var/lib/phpmyadmin/config.inc.php
  • Cerchiamo la configurazione:
    $cfg['AjaxEnable'] = true;

    e modifichiamola in questo modo, se il file è vuoto scriviamo “<?php” ed a seguire aggiungiamo:

    $cfg['AjaxEnable'] = false;
Bene, finito!
Riaprite il vostro phpmyadmin e buona interrogazione! 😉

Linux – Avviare il browser in fullscreen mode

Pubblicato il Scritto il da

Per qualche strana ragione (che spero di poter rendere un progetto interessante) mi sono chiesto se e come è possibile avviare un browser in fullscreen mode da riga di comando.

Devo dire che la ricerca è stata interessante e sorprendente. Infatti ho scoperto che molti browser permettono di navigare a schermo intero un sito sin dall’avvio, eccetto uno: Firefox!  😯

La mia ricerca si basava sulle funzionalità built-in dei browser, quindi senza l’utilizzo di estensioni di terze parti.

Vediamo un po’ come e quali sono gli attributi da aggiungere ai diversi browser per navigare a schermo intero.

Google Chrome

google-chrome --app=http://www.micene.net

Chromium

chromium-browser --app=http://www.micene.net

Rekonq

rekonq --webapp http://www.micene.net

Opera

opera -fullscreen http://www.micene.net

Per il momento, sembrerebbe che Firefox può essere avviato a schermo intero solo attraverso delle estensioni. Strana mancanza quella della Mozilla Foundation.

Frecciatina gratuita
Sembrerebbe che anche Internet Explorer abbia la possibilità di avviarsi in fullscreen mode (kiosk mode):

iexplore -k http://www.micene.net

Qualcuno ha informazioni riguardo la mancanza di Firefox?

Buona navigazione a schermo intero! 😉

Bash – Copia di sicurezza compressa

Pubblicato il Scritto il da

Qualcuno lo chiamerebbe impropiamente backup… 😀

Vi sarà capitato di frequente di voler salvaguardare i vostri file copiandoli in un’area sicura del vostro PC, magari comprimendoli e magari aggiungendo al nome del file la data in cui è stata eseguita l’operazione.

Oggi vedremo come è possibile fare tutto questo con un semplice file bash, iniziamo?

  • Aprite il vostro editor preferito e scrivete:
    #!/bin/bash
    
    mkdir -p path_di_destinazione
    tar -cvzf path_di_destinazione/`date +%Y%m%d%H%M%S_nome_file.tar.gz` path_dei_file_da_comprimere
  • Salvate il file con estensione sh.
  • Per finire rendete il file appena creato avviabile
FINITO!
Ora da console potrete avviare lo script appena creato e al termine dell’operazione troverete in “path_di_destinazione” un file con estensione tar.gz. L’archivio compresso conterrà i vostri file.
Per scoprire come scompattare l’archivio vi consiglio di leggere un vecchio post di Micene.net.
Buona archiviazione! 😉

Bash – Cerca file più grandi di

Pubblicato il Scritto il da

Vi è mai capitato di voler cercare tutti i file che occupano più di un TOT di KB?

Se la vostra risposta è si, ecco come potreste fare:

  1. Aprite una console
  2. Spostarvi nella cartella desiderata
  3. Lanciate il seguente comando:
    find . -type f -size +400k -exec ls -lh {} ; | awk '{ print $10 ": " $5 }'

Il comando elencherà la path e la dimensione dei file trovati, se non funziona con $10, sostituitelo con $9.

Se volete cancellare tutti i file trovati, poteste lanciare lo stesso comando leggermente modificato:

find . -type f -size +400k -exec rm -rf {} ;

Buona ricerca! 😉