1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Freeing allocated buffers in areaDetector HDF5 Plugin |
From: | "Marco A. Barra Montevechi Filho via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 3 May 2023 23:41:38 +0000 |
Hi, all!
Im doing some proof of concepts with areaDetector cloned directly from master (commit 78fae55898b9028e756eb080367cd6aad8913b54) and the plugins together with EPICS_BASE 7. When using the HDF5 plugin and saving with the capture mode, documentation (https://areadetector.github.io/master/ADCore/NDPluginFile.html?highlight=allocate) tells me a buffer will be allocated in memory before saving occurs. Consequently, when allocated buffer is bigger than available memory, application freezes my machine. The thing is: after the saving occurs, the buffer doesnt seem to be de-allocated. I say that because htop shows memory usage growing continuously when acquire is happening with capture mode on, but memory usage does not decrease once saving is done. I tried using the <PREFIX>FlushNow PV but i only get this error: epics> dbpf 13SIM2:HDF1:FlushNow 1 DBF_STRING: "Flush"
epics> 2023/05/03 20:35:02.845 NDFileHDF5:writeInt32: ERROR status=3, function=168, value=1 old=0
2023/05/03 20:35:02.845 13SIM2:HDF1:FlushNow devBusyAsyn::processCallbackOutput process error
epics>
epics>
epics>
epics> dbpf 13SIM2:HDF1:FlushNow 1
DBF_STRING: "Flush"
epics> 2023/05/03 20:35:34.577 NDFileHDF5:writeInt32: ERROR status=3, function=168, value=1 old=0
2023/05/03 20:35:34.577 13SIM2:HDF1:FlushNow devBusyAsyn::processCallbackOutput process errorIs this the correct usage of the PV? I also tried using <PREFIX>NumFramesFlush, but got no result. Is there any recommended way i can de-allocate this buffer whenever i want? Until now, i need to restart the application every time i want my memory back. Thanks in advance for any help, Marco Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente. Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately. |