knqyf263's blog

自分のためのメモとして残しておくためのブログ。

Goのpprofがruntime関連の情報しか表示してくれない時の解決方法

問題

Goでpprofを使っていたら以下のようにruntimeの情報しか表示してくれなくなりました。これだとどこがボトルネックなのか分かりません。runtimeのpthread_cond_signalが大きいけどどこから呼ばれているのか分からないし何も分からんという感じです。

f:id:knqyf263:20200326005037p:plain

解決策

GOMAXPROCS=1 を指定すれば良いと @orisano 先生から教わりました。CPUのコア数が多い時に発生しそうな雰囲気ですが詳細は深追いしてないので不明です。これで必ず解決するとは限りませんが自分の環境では改善されました。