18/09/2009 di neonum6
volete un windows xp (molto) più volece????
come vi sarete accorti dagli ultimi post sto lavorando a delle macchine virtuali… ho bisogno di limitare la ram di un sistema windows installato su macchina fisica per poter fare dei test delle prestazioni paragonabili a livello di ram…
allora come fare per evitare che il kernel windows mi swappi la memoria del mio programma creato proprio per occuparla(vedi memorylocker.c) ???
clicchiamo su start, esegui e scriviamo
regedit
poi andiamo a cercare la chiave
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management
Ora modifichiamo il valore di DisablePagingExecutive da 0(default) a 1
Il gioco è fatto!
Quel valore specifica se il contenuto presente in RAM può essere swappato se non in uso.
Volendo far tornare tutto alla normalità basterà ovviamente seguire la procedura inversa e riportare a 1 il calore della chiave DisablePagingExecutive.
Cosa comporta questa modifica? bhè semplice da prevedere…il sistema operativo non porta più alcun dato dalla RAM su disco fisico…quindi ci sarà un bell’aumento di velocità!!!!!!!
ma attenzione, probabilmente in queste condizioni il sistema operativo potrà farvi incontrare spiacevoli sorprese!Questo è sopratutto vero in caso di pc con ram limitata!!!!
di per certo questo tip funziona su winXp, 2000 e NT…fatemi sapere se funziona anche su altri SO!!!!
Tag: Benchmark, windows
Pubblicato in Tips | Lascia un commento »
18/09/2009 di neonum6
quando state usando una LTS o una versione di ubuntu server e dopo un do-release-upgrade (per installarlo ricordo che basta un sudo apt-get install update-manager-core) la risposta è
no new release found
Ubuntu fa questa scelta appunto per evitare che qualche utente che vuole passare da LTS a LTS senza passare dalle versioni intermedie si trovi dinanzi a qualche spiacevo fattaccio
In ogni caso questa scelta non è sempre condivisibile, allora ecco la soluzione!
la risposta è da trovarsi nel file
/etc/update-manager/release-upgrades
dove dobbiamo inserire
Prompt=normal
ora per aggiorare digitiamo
sudo do-release-upgrade
per verificare quale versione sia ora installata sul vostro pc digitate
lsb_release -a
Fatto.
Tag: ubuntu
Pubblicato in linux | Lascia un commento »
03/09/2009 di neonum6
Spesso accade che ci troviamo il kernel del dom0 un pò datato, o a causa di politiche della ditribuzione che staimo utilizzando (sicurezza, stabilità, mancato supporto come fa ubuntu :@ ). Ecco allora come fare per avere il nostro kernel sempre aggiornato. Questa guida si riferisce all’ultima versione di kernel-patch disponibili per xen.
Più in generale non è possibile installare qualsiasi kernel su dom0, bensì solo quelli per cui sono state sviluppate le patch apposite.
Innanzitutto scarichiamo quello che ci serve: il kernel linux-2.6.30.3 dal sito ufficiale, il pacchetto delle patch su googlecode. Spostiamo il file compresso in /usr/src e decomprimiamo i sorgenti del kernel con il comando sudo tar -xvf linux-2.6.30.3.tar.bz. Creo la cartella /usr/src/linux-2.6.30.3/patch. Sposto il file xen-patches-2.6.30-3.tar.bz2 in usr/src/linux-2.6.30.3/patch. Usiamo questo script per applicare le patch
#!/bin/bash
for P in `ls patch/6*.patch1 | sort `
do
patch -p1 -s -i $P
if [ $? = 0 ]; then
echo $P applied
else
echo "Error processing "$P
exit 1
fi
done
Ora ci assicuriamo che siano così attive queste voci(di default lo sono):
Processor type and features ->
[*] Symmetric multi-processing support
[ ] Support sparse irq numbering
[*] Enable MPS table
[*] Enable Xen compatible kernel
[*] Single-depth WCHAN output
Processor family (Generic-x86-64) --->
[ ] Configure Maximum number of SMP Processors and NUMA Nodes
(64) Maximum number of CPUs
Preemption Model (No Forced Preemption (Server)) --->
[ ] Machine Check Exception
Device Drivers -> XEN
[*] Privileged Guest (domain 0)
<*> Backend driver support
<*> Block-device backend driver
<*> Block-device tap backend driver
<*> Block-device tap backend driver 2
>*> Network-device backend driver
(8) Maximum simultaneous transmit requests (as a power of 2)
[ ] Pipelined transmitter (DANGEROUS)
< > Network-device loopback driver
<*> PCI-device backend driver
PCI Backend Mode (Virtual PCI) —>
[ ] PCI Backend Debugging
< > TPM-device backend driver
<M> SCSI backend driver
<M> USB backend driver
<M> Block-device frontend driver
<M> Network-device frontend driver
<M> Network-device frontend driver acceleration for Solarflare NICs
<M> SCSI frontend driver
<M> USB frontend driver
[*] Taking the HCD statistics (for debug)
<*> User-space granted page access driver
<*> Framebuffer-device frontend driver
Abbiamo inoltre bisogno di attivare la funzionalità bridging nel kernel. Ci assicuriamo che ci siano “802.1d Ethernet Bridging” (in “Networking options”) e “Universal TUN/TAP device driver support” (in “Network device support”).
Finalmente possiamo compilare:
make
make install
make modules_install
mkintramfs -o /boot/initrd.img-2.6.30.3 2.3.30.3
Ora apriamo il file /boot/grub/menu.lst e da root inseriamo:
title Xen 3.3 / Ubuntu 8.04.3 LTS, kernel 2.6.30.3-xen
root (hd0,0)
kernel /boot/xen-3.3.gz
module /boot/vmlinuz-2.6.30.3 root=UUID=7d8057c5-f4cd-4467-99d7-bb6f46def3c6 ro console=tty0 pciback.ide=(00:19.0)
module /boot/initrd.img-2.6.30.3
quiet
Ovviamente c’è da adattare la versione dell’hypervisor installata sulla vostra macchina e le opzioni da dare a grub e al kernel…
Ora riavviamo e il nostro kernel nuovo fiammante è pronto per essere utilizzato.
Tag: virtualizzazione
Pubblicato in xen | 4 Commenti »
02/09/2009 di neonum6
con le impostazioni di default di xen (file /etc/xen/xend-config.sxp) quando proviamo a connettere virsh all’hypervisor e diamo un
sudo virsh –connect xen:///
la risposta è
Connecting to uri: qemu:///system
error: Failed to connect to the hypervisor
unable to connect to ‘localhost:8000′: Connection refused
Il problema sta nel fatto che virsh cerca di connettersi all’interfaccia http sulla porta 8000 di xen. Apriamo allora il file xend-config.sxp e decommentiamo la seconda di queste due righe
# Port xend should use for the HTTP interface, if xend-http-server is set.
#(xend-port 8000)
dobbiamo poi inoltre scrivere abilitare lo xend-http-server scrivendo yes al posto di no
(xend-http-server no) ————–> (xend-http-server yes)
ed il gioco è fatto
Tag: virtualizzazione
Pubblicato in xen | Lascia un commento »
20/07/2009 di neonum6
All’avvio della vm paravirtualizzata DomU si blocca a questo punto:
Starting NFS servers: nfsd mountd.
Starting automounter: amd.
Starting anac(h)ronistic cron: anacron.
Starting periodic command scheduler: crond.
Running local boot scripts (/etc/rc.local).
Il problema è facilmente risolvibile dal config file aggiungendo la riga
extra = ‘console=hvc0 xencons=tty‘
Tag: virtualizzazione
Pubblicato in linux, xen | Lascia un commento »
20/07/2009 di neonum6
Questo programmino scritto in C mi è utile per occupare RAM per rendere confrontabili per dei benchmark una macchina reale e una macchina virtuale.
#include <sys/mman.h>
#include <stdlib.h>
#include <signal.h>
#include <stdio.h>
void freemem(int signalValue);
char* memory;
int main(int argc, char** argv){
signal(SIGINT,freemem);
int n=atoi(argv[1]);
printf("\nalloco %dMB di RAM\n",n);
const int alloc_size = n * 1024 * 1024;
memory = malloc(alloc_size);
mlock(memory, alloc_size);
size_t i;
size_t page_size = getpagesize();
for(i=0; i<alloc_size; i+= page_size)
memory[i]=0;
pause();
}
void freemem(int signalValue){
printf("\nricevuto segnale di chiusura, libero la memoria ed esco\n");
free(memory);
exit(0);
}
Tag: Benchmark, C, virtualizzazione
Pubblicato in linux, programmazione | Lascia un commento »
12/07/2009 di neonum6
Ecco un’esempio di file keys con shortcut per firefox, pidgin e altro! si possono inoltre spostare le finestre con la tastiera!!
Mod1 Tab :NextWindow
Mod1 Shift Tab
revWindow
Mod1 F1 :Workspace 1
Mod1 F2 :ExecCommand fbrun
Mod1 F3 :Workspace 3
Mod1 F4 :Workspace 4
Mod1 F5 :Workspace 5
Mod1 F6 :Workspace 6
Mod1 F7 :Workspace 7
Mod1 F8 :Workspace 8
Mod1 F9 :Workspace 9
Mod1 F10 :Workspace 10
Mod1 F11 :Workspace 11
Mod1 F12 :Workspace 12
Mod4 r :ExecCommand rox &
Mod4 f :ExecCommand firefox &
Mod4 x :ExecCommand xterm &
Mod4 p :ExecCommand pidgin &
Mod4 c :ExecCommand xchat &
Mod1 Control Right :NextWorkspace
Mod1 Control Left
revWorkspace
Control Mod4 Right :MoveRight 15
Control Mod4 Left :MoveLeft 15
Control Mod4 Up :MoveUp 15
Control Mod4 Down :MoveDown 15
Mod1 Shift F4 :Close
Mod4 space :Maximize
Mod1 space :Iconify
Control space :ToggleDecor
#Mod4 tasto win
#Mod1 Alt
Tag: fluxbox
Pubblicato in linux | Lascia un commento »
12/07/2009 di neonum6
bonnie++ è una suite di test per il benchmark di hard-disk e partizioni. Molto potente, spesso risulta difficile da usare. I risultati dei test possono essere file html oppure cvs.
bonnie ++ usage:
bonnie++
[-d dir] directory usata per i test
[-s size(MiB)[:chunk-size(b)]] grandezza del/dei file
[-n number-to-stat(*1024)[:max-size[:min-size][:num-directories]]] numero dei file misurati in multipli di 1024
[-m machine-name] nome della macchina (utile solo nella creazione del rapporto di fine test)
[-r ram-size-in-MiB] quantità di RAM
[-x number-of-tests] numero test, utile se si vuole eseguire più di un test
[-u uid-to-use:gid-to-use] user-id to use. Non è raccomandato eseguire bonnie++ da root
[-g gid-to-use] group-id
[-q]quiet mode
[-f]fast mode
[-b] non utilizza buffering. fsync() viene eseguita dopo ogni scrittura.
[-D] usa IO diretto (O_DIRECT)
[-p processes | -y] numero di processi per servire i semafori | attende il semaforo per ogni test
quindi dopo aver dato un generico
bonnie -d . -s 400 -n 80:10:0:10 -m NAMEMACHINE -r 100 -x 1 >> bonnie.out
usiamo il tool bon_csv2html
cat bonnie.out | bon_csv2html > Result.html
Ora avremo una tabella html con i risultati dei nostri test! Basta avere un browser per leggerli!
Alternative per il benchmarking del filesystem: Iozone
Tag: Benchmark
Pubblicato in linux | Lascia un commento »
06/04/2009 di neonum6
L’altro giorno dopo aver scaricato e xen(installazione da binari), ho eseguito la dura procedura d’installazione:
# sh ./install.sh
successivamente ho modificato il file /boot/grub/menu.lst con questa sintassi
title Xen 3.1 / XenLinux 2.6
root (hd0,1)
kernel /boot/xen-3.1.gz dom0_mem=524288
module /boot/vmlinuz-2.6-xen root=/dev/hdc2 ro console=tty0
Al riavvio però l’hypervisor andava in kernel panic a causa del fatto che il filesystem su cui doveva andare a leggere il kernel da avviare è formattato con reiserfs.
Ecco la soluzione:
sudo depmod -a xen-3.1.gz
sudo mkinitramfs -o /boot/xen-3.1-initrd.img vmlinuz-2.6-xen
Se la risposta è “Cannot find /lib/modules/vmlinuz-2.6.18-xen” cercate in /lib/modules il nome giusto della cartella che vi serve. Aggiungiamo poi a quello che avevamo scritto prima al nostro /boot/grub/menu.lst la riga:
module /boot/xen-3.1-initrd.img
ora boota!!!! finalmente!
Tag: virtualizzazione
Pubblicato in xen | Lascia un commento »
11/03/2009 di neonum6
questo script scritto in python permette di inviare un semplice sms tramite bluetooth comodamente dalla tastiera del nostro pc… prima di avviarlo basta attivare una connessione tra il pc e la bluetooth console del telefono…come scritto nell’articolo pys60-console-ubuntu e poi avviare lo script
def send_sms(num,text):
sms=”messaging.sms_send(“+format_string(num)+’,'+format_string(text)+”)”+’\n\r’
ser.write(sms)
def format_string(string):
return ‘\”‘+string+’\”‘
import serial
ser = serial.Serial(“/dev/rfcomm2″)
while ser.inWaiting()>0:
x=ser.read()
print x,
ser.write(“import messaging”+’\r\n’)
num=raw_input(“Inserisci numero\n”)
text=raw_input(“Inserisci testo\n”)
send_sms(num,text)
while ser.inWaiting()>0:
x=ser.read()
print x,
ser.flushInput()
ser.flushOutput()
ser.close()
L’idea è di creare una bella interfaccia grafica funzionante alla cosa con tanto di lettura della rubrica dal cell… stay tuned
Tag: pys60, python, sc
Pubblicato in linux, programmazione | Lascia un commento »