sql server – How to investigate memory grant warnings?

Saw this warning from query in plan cache

<Warnings>
     <MemoryGrantWarning GrantWarningKind="Excessive Grant" RequestedMemory="2751552" GrantedMemory="2751552" MaxUsedMemory="768" />
</Warnings>

Does RequestedMemory represent bytes or kilobytes?

How do you troubleshoot what caused this warning?