[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: Tracking memory, PCI(-E) bus usage?
From:       Ryan Stone <rysto32 () gmail ! com>
Date:       2012-02-24 18:27:36
Message-ID: CAFMmRNwbvChac9cv2dXftuLXQxy+E63KZ1vMQSXqMqizyRowTw () mail ! gmail ! com
[Download RAW message or body]

I can't help you with PCI bandwidth usage(and personally I'd be very
interested in being able to measure that), but I do know that
Nehalem-based Intel Core i7s (and presumably more recent Intel CPUs)
export PMCs for measuring memory bandwidth utilization.  The PMCs for
the Core i7 are:

QMC_BUSY.WRITE.CH0
QMC_BUSY.READ.CH0
QMC_BUSY.WRITE.CH1
QMC_BUSY.READ.CH1
QMC_BUSY.WRITE.CH2
QMC_BUSY.READ.CH2

You can divide these by UCLOCK to get the percent utilization.

If you hate doing math by hand I've written a simple curses-based
utility for measuring PMC statistics like this:

https://code.google.com/p/perfdb/

It outputs stats like this:
Memory Channel Utilization: (hotkey m)

GQ_Write_Nonempty:  0.11
GQ_To_L3_Busy:      0.00
GQ_To_QPI_Busy:     0.00
GQ_To_Core_Busy:    0.00
Chan0_Util_Write:   0.01
Chan0_Util_Read:    0.03
Chan1_Util_Write:   0.00
Chan1_Util_Read:    0.03
Chan2_Util_Write:   0.00
Chan2_Util_Read:    0.00

It's still very much a work in progress and there's zero documentation
for it(hint: the left and right arrow keys are used to cycle between
pages of stats, and the q key quits) but I thought that I'd mention
it.
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic