I don't know why I keep forgetting about this technique. I guess it's because while it is worth its weight in gold when you need it, it just isn't needed very often.
Say you're helping somebody with a networking problem. Their process isn't behaving well.
"Is it running under Onload?"
"I don't know. I think so, but how can we tell for sure?"
$ tr '\0' '\n' </proc/12345/environ | grep LD_PRELOAD
LD_PRELOAD=libonload.so
(You need the "tr" command because Linux separates entries with a null, not a newline.)
"OK cool. What Onload env vars do you set?"
$ tr '\0' '\n' </proc/12345/environ | grep EF_
EF_RXQ_SIZE=4096
EF_UDP_RCVBUF=16000000
EF_POLL_USEC=100
BAM! No need to rely on memory or what the env "should" be. We know for sure.
No comments:
Post a Comment