Hi, Jason and the usual suspects are:
1. Severely discharged or a damaged battery, should have 12.5 volts or better and be able to pass a load test if necessary.
2. Check battery terminals for damage or corrosion, check the battery cables at "BOTH" ends for loose, corroded, or broken connectors, "INSIDE" and outside the cable harness, perform connector wiggle test and check cables with an ohmmeter if necessary.
3. Spark plugs in bad condition or partially fouled.
4. Spark plug cables in bad condition and leaking check for spark leakage in the dark
5. Spark plug gap too close or too wide.
6. Faulty ignition coil, module, and or sensor.
7. Loose, dirty, or corroded ignition module connector at crankcase.
8. Faulty CKP or CMP, MAP, ETS, ATS, TPS, O2 sensor.
9. Dirty air filter.
10. Intake air leak.
11. Water, dirt, or rust in the fuel system.
12. Carburetor damaged, contaminated, sticky float, plugged jets.
13. Multiple carburetors out of sync.
14. Fuel filter clogged.
15. Old or contaminated fuel.
16. Fuel tank vent system plugged or carb vent line closed off.
17. Gas cap diaphragm valve faulty.
18. Vacuum line from intake manifold to fuel valve is broken, cracked, pinched, or missing.
19. Carburetor controls misadjusted.
20. Incorrect valve timing.
21. Valve springs floating, weak, or broken.
22. Damaged intake or exhaust valve.
23. Incompatible performance parts.
24. Control module may be in "LIMP" mode
25. Check for engine trouble codes.
For more information about your issue and valuable "FREE" downloads that you will need please click on the blue links below. Good luck and have a wonderful day.
Bike wont go over 3000 4000 rpms
Yamaha 95 XJ900S Service Manual
OEM parts for Yamaha
Yamaha diversion 900 XJ900S Owner Manual
Btw, I’m available to help over the phone in case u need at https://www.6ya.com/expert/gregg_c0ec1df182c7330e