powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как узнать размер памяти выделенный сессии через SQL запрос?
6 сообщений из 6, страница 1 из 1
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39494782
vvt1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго здравия, коллеги!

Случаем ни кто не подскажет где храниться total memory, в какой таблице?
Или, случаем, запрос готовый, который покажет этот total memory по аналогии с onstat -g ses.
Что-то не могу найти как.
...
Рейтинг: 0 / 0
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39494821
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное это есть в faq http://www.sql.ru/faq/faq.aspx?id=115000

в onmanager ( http://myinformix.narod.ru/scrshonm/ses_list.PNG ) вот такой запрос, поля с памятью 'p.po_usedamt+p.po_freeamt total, p.po_usedamt,'

select s.sid, trim(o.odb_dbname) odb_dbname, fo.txt,
q.scb_sqerrno, q.scb_iserrno,

trim(s.username) username, decode(s.ttyin,'',s.hostname,s.ttyin) ttyin,
dbinfo('utc_to_datetime',s.connected) ConnectTime, s.pid,
dbinfo('utc_to_datetime',t.th_startrun) last_run_time,
p.po_usedamt+p.po_freeamt total, p.po_usedamt,

--sdb_executions, sdb_cumtime, sdb_partnum, sdb_recnum, sdb_pdq_prio_req, sdb_pdq_priority,

r.lktout, r.nlocks, r.nreads, r.nwrites, r.upf_bufreads, r.upf_bufwrites,

r.upf_iscommit, r.upf_isrollback, upf_seqscans, upf_dsksorts, upf_totsorts, upf_logspuse,
bitval( r.flags, '0x00000001') us_inuse,
bitval( r.flags, '0x00000002') w_latch,
bitval( r.flags, '0x00000004') w_lock,
bitval( r.flags, '0x00000008') w_buffer,
bitval( r.flags, '0x00000010') w_checkpoint,
bitval( r.flags, '0x00000020') inreadRSAMcall,
bitval( r.flags, '0x00000040') backup_log,
bitval( r.flags, '0x00000080') OnMonitor,
bitval( r.flags, '0x00000100') inCriticalSection,
bitval( r.flags, '0x00000200') specDaemon,
bitval( r.flags, '0x00000400') archiving,
bitval( r.flags, '0x00000800') cleanDeadPS,
bitval( r.flags, '0x00001000') w_writeOfLogBuffer,
bitval( r.flags, '0x00002000') buffer_flushing,
bitval( r.flags, '0x00004000') remoteDBServer,
bitval( r.flags, '0x00008000') deadlockTime,
bitval( r.flags, '0x00010000') regularTime,
bitval( r.flags, '0x00040000') w_transaction,
bitval( r.flags, '0x00080000') primary,
bitval( r.flags, '0x00100000') building_indexes,
bitval( r.flags, '0x00200000') BtreeCleaner,

--(select 1 from sysconblock where r.sid = cbl_sessionid and cbl_sdbno <> 0 and cbl_flags=0 and cbl_flags2=0 and cbl_selflag=0) is_rollback,
0 is_rollback,
t.th_conwait

from syssqscb q, sysrstcb r, sysscblst s, systhreads t, syspoollst p,
outer syssdblock l, sysopendb o, flags_text fo
where s.sid = r.sid and t.th_addr=r.mttcb
and (po_name = s.sid||'') -- or po_name like s.sid||'*O%'
and s.sid = q.scb_sessionid --and q.scb_feversion > 0
and s.sid = l.sdb_sessionid and l.sdb_iscurrent = 'Y'
and s.sid = o.odb_sessionid and o.odb_iscurrent = 'Y'
and fo.tabname = 'sysopendb' and fo.flags = o.odb_isolation

order by scb_sqerrno, odb_dbname, ttyin, username

...
Рейтинг: 0 / 0
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39495286
яфшуеі
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
$INFORMIXDIR/etc/sysmaster.sql

sysscblst
...
Рейтинг: 0 / 0
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39495413
vvt1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис, спасибо.
Вроде получилось

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
set isolation to dirty read;
SELECT  sid,                            -- Informix sessionid
        username[1,8]     AS User,      -- User name
        sqs_dbname[1,18]  AS Database,  -- Database name
        po_usedamt+po_freeamt AS Total, -- Total memory bytes
        EXTEND (dbinfo('UTC_TO_DATETIME',connected), YEAR TO MINUTE)
                          AS Start_Time
FROM    syssessions, syssqlstat, syspoollst
WHERE   sid = sqs_sessionid
AND     sid != dbinfo('sessionid')  -- Exclude this session
AND     (po_name = sid||'')
ORDER BY 1;
...
Рейтинг: 0 / 0
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39495417
vvt1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
яфшуеі, ага, увидел. Спасибо! Попробую и так.
...
Рейтинг: 0 / 0
Как узнать размер памяти выделенный сессии через SQL запрос?
    #39495430
vvt1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, можно и так.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
set isolation to dirty read;
SELECT  s.sid,                            -- Informix sessionid
        s.username[1,8]     AS User,      -- User name
        t.sqs_dbname[1,18]  AS Database,  -- Database name
        l.memtotal          AS Memtotal,  -- Total memory in bytes
        EXTEND (dbinfo('UTC_TO_DATETIME',s.connected), YEAR TO MINUTE)
                          AS Start_Time
FROM    syssessions s, syssqlstat t, sysscblst l
WHERE   s.sid = t.sqs_sessionid
AND     s.sid != dbinfo('sessionid')  -- Exclude this session
AND     s.sid = l.sid
ORDER BY 1;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как узнать размер памяти выделенный сессии через SQL запрос?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]