If it has an internal rattle, than it is going bad. A lazy O2 can give you a check engine light for the same thing. It can be read in real time and see if it is operating correctly. I would not tell you that a cat will fix your problem without looking at the O2’s.