Re: Mesurar rendiment d'una aplicació
El 1/6/21 a les 23:00, Àlex ha escrit: Aquí hi ha diferents de codi per mesurar temps d'us de cpu (cpu time) i el temps total (wall time). A tu t'interessa el cpu time: https://levelup.gitconnected.com/8-ways-to-measure-execution-time-in-c-c-48634458d0f9 Genial!!! Però és una passada perquè el CPU time hauria de ser més o menys constant i no ho és. Nosaltres hem trobat variacions de fins al un 10%. Leo -- -- Linux User 152692 GPG: 05F4A7A949A2D9AA Catalonia - A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail?
Re: Mesurar rendiment d'una aplicació
Bones Leo, no sé gaire del tema, però l'article a la Wikipèdia en anglès aporta alguna referència, per fer recerca: https://en.wikipedia.org/wiki/CPU_time Salutacions Àlex El 1/6/21 a les 19:14, Leopold Palomo-Avellaneda ha escrit: > Bones, > > he enviat aquest missatge a la llista de caliu però ha tingut poc > èxit... Us explico, probablement és un correu fora de tema, però > m'agradaria preguntar aquí perquè potser alguns de vosaltres em podrien > guiar. > > Estic treballant amb alguns científics per avaluar alguns programes que > calculen una solució per a un problema. Bàsicament fan una instància de > ILOG CPLEX i obtenen el temps utilitzat per calcular la solució o fan > servir alguna heurística. > > Utilitzem un servidor per fer els càlculs, i hem trobat (òbviament) > variacions significatives que depenen de la càrrega de la màquina. El > què voler obtenir és un tipus de mesura independent de la càrrega del > servidor. > > Un enfocament ha estat utilitzar el temps de CPU. En el nostre cas, el > nombre total dels segons de CPU que el procés utilitza directament (en > mode d'usuari). No estem parlant del temps real transcorregut (wall > clock) que òbviament és directament està afectat per la càrrega de la > màquina. > > No obstant això, hem realitzat diverses proves i hem descobert que té > una variació al voltant del 10% (depenent de la càrrega). També hem > avaluat el temps de CPU en mode kernel i també com hi ha un canvi de > context perquè l'aplicació no s'executa. Però, sincerament no hem > obtingut una idea clara del que està passant. > > Una altra qüestió que hem trobat és com pot afectar el nombre de nuclis. > o CPUs físiques al servidor. > > Algú de vosaltres ha trobat aquests problemes i els ha resolt? > > > Salutacions, > > Leopold > -- La solidaritat és la tendresa dels pobles. Lluita contra l'apartheid: http://boycottdebconf20.org/ http://twitter.com/hashtag/BoycottDebConf20 http://wiki.debian.org/DebConf/21 https://www.btselem.org/publications/fulltext/202101_this_is_apartheid https://www.elsaltodiario.com/ocupacion-israeli/apartheid-sanitario-israeli-metafora-kibbutz https://www.elsaltodiario.com/elsacapuntas/estudiar-bajo-apartheid-el-dia-a-dia-de-los-estudiantes-palestinos
Re: Mesurar rendiment d'una aplicació
Aquí hi ha diferents de codi per mesurar temps d'us de cpu (cpu time) i el temps total (wall time). A tu t'interessa el cpu time: https://levelup.gitconnected.com/8-ways-to-measure-execution-time-in-c-c-48634458d0f9
Mesurar rendiment d'una aplicació
Bones, he enviat aquest missatge a la llista de caliu però ha tingut poc èxit... Us explico, probablement és un correu fora de tema, però m'agradaria preguntar aquí perquè potser alguns de vosaltres em podrien guiar. Estic treballant amb alguns científics per avaluar alguns programes que calculen una solució per a un problema. Bàsicament fan una instància de ILOG CPLEX i obtenen el temps utilitzat per calcular la solució o fan servir alguna heurística. Utilitzem un servidor per fer els càlculs, i hem trobat (òbviament) variacions significatives que depenen de la càrrega de la màquina. El què voler obtenir és un tipus de mesura independent de la càrrega del servidor. Un enfocament ha estat utilitzar el temps de CPU. En el nostre cas, el nombre total dels segons de CPU que el procés utilitza directament (en mode d'usuari). No estem parlant del temps real transcorregut (wall clock) que òbviament és directament està afectat per la càrrega de la màquina. No obstant això, hem realitzat diverses proves i hem descobert que té una variació al voltant del 10% (depenent de la càrrega). També hem avaluat el temps de CPU en mode kernel i també com hi ha un canvi de context perquè l'aplicació no s'executa. Però, sincerament no hem obtingut una idea clara del que està passant. Una altra qüestió que hem trobat és com pot afectar el nombre de nuclis. o CPUs físiques al servidor. Algú de vosaltres ha trobat aquests problemes i els ha resolt? Salutacions, Leopold -- -- Linux User 152692 GPG: 05F4A7A949A2D9AA Catalonia - A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail?
Re: / plena
Jo no tinc massa idea de bash, però aquesta comanda me l'he guardada perquè em sembla molt xula: com condensar en una línia diverses opcions... El Tue, 11 May 2021 16:51:28 +0200 Eloi va escriure: > El 11/5/21 a les 16:21, Narcis Garcia ha escrit: > > Si l'eina de còpies de seguretat l'has fet tu mateix, al disc de > > còpies hi pots posar un fitxer de reconeixement. Per exemple > > «.cseguretat» D'aquesta manera, abans d'executar la còpia el teu > > programet pot mirar si hi ha el fitxer, de la qual cosa deduir si > > el dispositiu està muntat o no: > > > > if [ ! -f /mnt/copies.seguretat_2/.cseguretat ] ; then > > echo "No s'ha trobat el disc de còpies!" > > exit 1 > > fi > > > > Si no és així, caldria saber quin programari utilitzes per a fer > > còpies. > > No cal crear cap fitxer testimoni, es pot emprar l'eina findmnt, per > exemple així: > > findmnt --mountpoint /mnt/copies.seguretat_2 >/dev/null || mount > /mnt/copies.seguretat_2 && comanda_backup > > Per parts: > > findmnt amb --mountpoint determina si el directori és un punt de > muntatge actiu. Si ho és, torna dades del mateix (per això > redirecciono a /dev/null) i retorna 0; en cas contrari, retorna 1. > > || mount /mnt/copies.seguretat_2 intenta muntar el dispositiu si i > només si la comanda anterior ha fallat, és a dir, si el dispositiu no > està muntat. Que funcioni dependrà de si l'usuari que executa la > comanda pot muntar el dispositiu i de si aquest es troba disponible, > sempre que estigui prèviament configurat a /etc/fstab > > && comanda_backup s'executarà si alguna de les dues comandes > anteriors ha tingut èxit, aquí hauràs de posar el que sigui que facis > servir per llençar la còpia de seguretat. > > Recapitulant possibles escenaris: > > 1. El disc està muntat: findmnt torna 0 (èxit), mount no s'executa > per || i el backup s'executa per && > 2. El disc està present però sense muntar: findmnt torna 1 (error), > mount s'executa per || i un cop muntat amb èxit (0) el disc finalment > s'executa el backup per && > 3. El disc no està present (o no es disposa de permisos per > muntar-lo): findmnt torna 1 (error), mount s'executa per || però > també falla i el backup no s'executa > > Si vols afegir una acció alternativa per si la còpia no s'engega (o > si el propi procés de còpia falla) sempre pots afegir al final una > nova > ordre precedida per ||, per exemple (resumint crides sense > paràmetres): > > findmnt || mount && backup || error > > on findmnt i mount són tal com he descrit abans, 'backup' és el > teu > programa de còpia de seguretat i 'error' l'acció que vulguis executar > si falla la còpia. > > L'avantatge de fer-ho en format de comanda monolínia és que pots > posar-la directament al crontab sense necessitar cap script > intermediari. > > -- Joan Cervan i Andreu http://personal.calbasi.net "El meu paper no és transformar el món ni l'home sinó, potser, el de ser útil, des del meu lloc, als pocs valors sense els quals un món no val la pena viure'l" A. Camus i pels que teniu fe: "Déu no és la Veritat, la Veritat és Déu" Gandhi