Para las versiones de Postgres 9.2 o superiores podéis crear una vista que facilitará la consulta de los procesos que actualmente tiene bloqueos en vuestro sistema:
CREATE OR REPLACE VIEW public.procesos_bloqueantes(
blocking_pid,
blocking_user,
blocking_query,
blocked_pid,
blocked_user,
blocked_query,
age)
AS
SELECT kl.pid AS blocking_pid,
ka.usename AS blocking_user,
ka.query AS blocking_query,
bl.pid AS blocked_pid,
a.usename AS blocked_user,
a.query AS blocked_query,
to_char(age(now(), a.query_start), 'HH24h:MIm:SSs' ::text) AS age
FROM pg_locks bl
JOIN pg_stat_activity a ON bl.pid = a.pid
JOIN pg_locks kl ON bl.locktype = kl.locktype AND NOT bl.database IS
DISTINCT
FROM kl.database AND NOT bl.relation IS DISTINCT
FROM kl.relation AND NOT bl.page IS DISTINCT
FROM kl.page AND NOT bl.tuple IS DISTINCT
FROM kl.tuple AND NOT bl.virtualxid IS DISTINCT
FROM kl.virtualxid AND NOT bl.transactionid IS DISTINCT
FROM kl.transactionid AND NOT bl.classid IS DISTINCT
FROM kl.classid AND NOT bl.objid IS DISTINCT
FROM kl.objid AND NOT bl.objsubid IS DISTINCT
FROM kl.objsubid AND bl.pid <> kl.pid
JOIN pg_stat_activity ka ON kl.pid = ka.pid
WHERE kl.granted AND
NOT bl.granted
ORDER BY a.query_start;
Una vez localizados los procesos que están produciendo el bloqueo y que sentencia están ejecutando, podemos tomar la decisión de eliminarlos si llevan demasiado tiempo en ejecución y no nos importa perder él resultado de la acción que estaban ejecutando. El identificador de proceso a matar es el "blocking_id" de la vista:
select pg_cancel_backend ( blocking_pid );
Intentando arrojar un poco de luz a problemas que puedes encontrarte. Especialmente con PostgreSql
Mostrando entradas con la etiqueta monitorización. Mostrar todas las entradas
Mostrando entradas con la etiqueta monitorización. Mostrar todas las entradas
lunes, 30 de septiembre de 2013
miércoles, 8 de febrero de 2012
Monitorización Linux
Quien está conectado y que está haciendo
Otras herramientas de monitorización de actividad, memoria, uso de disco, cpu... http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
w [user_name]
17:24:24 up 88 days, 17:12, 5 users, load average: 0,09, 0,07, 0,08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
gme pts/0 paco.bit.mad 09:35 0.00s 0.61s 0.00s w
wdev pts/1 fe.bit.mad Fri10 5days 0.01s 0.01s -bash
gme pts/2 fe.bit.mad Fri11 27:06m 6.31s 6.28s ./gmeser
wdev pts/5 paco.bit.mad 09:35 7:48m 0.01s 0.01s -bash
gme pts/7 fe.bit.mad 12:23 4:58m 0.04s 0.04s -bash
Otras herramientas de monitorización de actividad, memoria, uso de disco, cpu... http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
Suscribirse a:
Entradas (Atom)