2010-08-02 21 views
8

Tengo un programa muy subprocesado pero creo que no puede escalar bien en varios núcleos porque ya está saturando todo el ancho de banda de la memoria.¿Cómo medir el uso del ancho de banda de la memoria en Windows?

¿Hay alguna herramienta que permita medir qué parte del ancho de banda de la memoria se está utilizando?

Editar: Tenga en cuenta que los perfiladores típicos muestran cosas como pérdidas de memoria y la asignación de memoria, que no estoy interesado en no soy más que si el ancho de banda de memoria está saturado o no..

+2

Si desea una herramienta sysadmin, debe especificar su sistema operativo. Si desea una herramienta programática, debe especificar el lenguaje de programación. –

+0

En realidad, no. El ancho de banda de memoria de la CPU a través de las memorias caché de la memoria principal es un concepto de bajo nivel _interiormente_ independiente del lenguaje de programación. – MSalters

+0

sus ventanas. edité el título para reflejar esto. de acuerdo con msalters, el lenguaje de programación no tiene nada que ver con la medición de ancho de banda de memoria. – pdeva

Respuesta

2

sería difícil encontrar una herramienta que midiera la utilización del ancho de banda de la memoria para su aplicación.

Pero dado que el problema es un problema de ancho de banda de memoria, puede intentar medir si su aplicación está generando una gran cantidad de fallas de página/seg, lo que significaría que no está cerca del ancho de banda de la memoria teórica.

También debe medir cuán amigable es el caché de sus algoritmos. Si están agotando la memoria caché, la utilización de su ancho de banda de memoria se verá gravemente obstaculizada. Google "mide el caché falla" en buenas fuentes que le dice cómo hacerlo.

2

Recomendaría Visual Studio Sample Profiler, que puede recopilar eventos de muestra en contadores de hardware específicos. Por ejemplo, puede elegir muestrear en errores de caché. Here's an article explaining how to choose the CPU counter, aunque hay otros contadores con los que puedes jugar también.

9

Si tiene un procesador Intel reciente, puede intentar usar Intel (r) Monitor de contador de rendimiento: http://software.intel.com/en-us/articles/intel-performance-counter-monitor/ Puede medir directamente el ancho de banda de memoria consumida de los controladores de memoria.

+0

¿hay alguna posibilidad de que exista una herramienta que consuma esta información y la imprima? –

+0

El Monitor de contador de rendimiento de Intel está descontinuado. En su lugar, contribuyen con actualizaciones y nuevas funciones al monitor de contador de procesador de horquillas en github: https://github.com/opcm/pcm. – wenjianhn

Cuestiones relacionadas