Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Prefer not to run the server on your own PC? Godlike.Host offers hosted Minecraft Java servers with free DDoS protection and up to three free backups a day.
Install the Spark jar that matches both your Minecraft version and server loader, restart the server, confirm it with /spark version, then capture a profile while players reproduce the lag. Start with /spark profiler start, let it sample normal activity for several minutes, and finish with /spark profiler stop. Spark uploads the completed profile and prints a shareable report link; its interactive flamegraph shows which code consumes tick time.
What Spark profiles and why it helps with lag
Minecraft server lag is usually a timing problem: the main server thread cannot finish its work before the next tick is due. A low-tick-rate complaint tells you that the server is late, but not whether entities, plugins, world generation, redstone, chunk loading, or another task caused the delay. Spark samples the running server and associates that time with threads and call paths. The resulting report lets you move from “the server feels slow” to a specific area of work worth investigating.
Recommended Free Tools
A profile is most useful when it covers the problem as it actually happens. Start it before a known event, have players continue their normal activities, and stop it after the spike or sustained slowdown has occurred. A profile taken while the server is empty may accurately describe an idle server while saying little about a lag complaint that only appears with players online.
Before you install Spark
Identify the server loader and Minecraft version
Download Spark from the official Spark download page. Choose the jar compatible with the Minecraft version and loader running your server. Paper and Spigot use the plugin build; Fabric, Forge, and NeoForge use the mod build. A jar for the wrong loader may fail to load or simply will not provide the commands you expect.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.
Check whether Spark is already present on Paper
Some third-party summaries claim that recent Paper builds include Spark, but that claim has not been verified against Paper release notes here. Do not install a second copy automatically. Read the startup console for Spark messages and run /spark version after the server starts. If the command already works, use the existing installation; if it does not, install the matching jar yourself.
Plan a safe capture
- Take the first profile during a normal, reproducible workload rather than during an empty-server idle period.
- Tell players that profiling is temporary and avoid changing several performance settings during the capture.
- Have console or in-game command access ready so you can stop the run cleanly if the server becomes unstable.
- For a public server, treat the generated report URL as shareable diagnostic data and send it only to people who should see your server details.
Install Spark on each server type
Paper and Spigot
- Download the Spark jar that matches the server’s Minecraft version from spark.lucko.me/download.
- Stop the server if it is running.
- Place the jar in the server’s
pluginsfolder. Do not unzip it. - Start or restart the server and watch the startup console for a successful Spark load.
- Run
/spark versionfrom the console or as an authorized player. A version response confirms that the plugin is available.
Spark also has a Spigot resource listing at spigotmc.org/resources/spark.57242; the official download page remains the place to match a jar to your server version.
Fabric, Forge, and NeoForge
- Download the Spark mod jar for your exact Minecraft version and loader from spark.lucko.me/download.
- Stop the server.
- Place the jar in the server’s
modsfolder. - Restart the server and check the loader’s startup log for Spark.
- Run
/spark versionto verify that the mod registered its commands.
Do not place a Fabric, Forge, or NeoForge mod in plugins, and do not put a Paper/Spigot plugin in mods. The directory is determined by the loader, not by the fact that both files end in .jar.
Proxy and client command prefixes
The command prefix changes when Spark runs in a different environment: use /sparkb on BungeeCord, /sparkv on Velocity, and /sparkc for the Forge/Fabric client. The profiling steps remain conceptually the same, but the command must be sent to the environment where Spark is installed.
Fix command access before profiling
The official permission nodes are spark and spark.profiler. An operator can also run the commands on servers where operator permissions are enabled. If your permissions manager supports granular nodes, grant the appropriate Spark node to an administrator group rather than giving every player operator status.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
- If
/spark versionreturns an unknown-command error, revisit the loader, folder, jar version, and startup log before changing permissions. - If the command exists but says you lack permission, confirm that you are an operator or that your permission group has
sparkorspark.profiler. - Run the command from the server console when testing. Console execution avoids chat autocomplete and player-permission differences.
Run a basic Spark profile
Start the capture
With players online and the suspected workload active, run:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problems/spark profiler start
Spark begins sampling. Keep the server in the state that produces the complaint. Third-party guides commonly suggest about three to five minutes with players online; the official command reference does not prescribe a fixed duration, so use the shortest window that contains a representative event rather than treating five minutes as a requirement.
Stop and publish it
When the lag event has been captured, run:
/spark profiler stop
After the profile is created, Spark uploads it to its viewer and presents a link. Open that shareable page to inspect the interactive flamegraph. A guide may show /spark profiler --stop, but the documented command is /spark profiler stop; use the latter.
Inspect without stopping, or discard the run
| Command | Purpose | When to use it |
|---|---|---|
/spark profiler info |
Displays information about the active profiler. | Check whether a capture is running and review its state before deciding what to do next. |
/spark profiler open |
Opens the current profile for viewing without stopping it. | Get an early look while continuing to collect data. |
/spark profiler stop |
Ends the capture and creates the report. | Use after the representative lag event has occurred. |
/spark profiler cancel |
Discards the active capture without uploading it. | Use when the run was started at the wrong time or contains no useful workload. |
Choose options for the problem you are investigating
Every option below can be added to the start command. Put the option and its value after start, for example /spark profiler start --timeout 300.
| Option | What it changes | Example or qualification |
|---|---|---|
--timeout <seconds> |
Stops the profile automatically after the specified number of seconds. | /spark profiler start --timeout 300 ends after 300 seconds. |
--thread * |
Profiles all threads explicitly. | Useful when the diagnosis may involve more than the main server thread. |
--thread <name> |
Limits sampling to a named thread. | Use only when you know which thread is relevant; a narrow capture can omit the work causing the symptom. |
--alloc |
Profiles memory allocations rather than only normal execution timing. | Choose it when allocation or garbage-collection behavior is the question. |
--interval <ms> |
Sets the sampling interval in milliseconds. | The documented default is reported as 4 ms. Changing it alters sampling overhead and detail, so record the value when comparing captures. |
--only-ticks-over <ms> |
Records only ticks slower than the threshold. | The example /spark profiler start --only-ticks-over 60 focuses on ticks over 60 ms. |
--ignore-sleeping |
Leaves sleeping threads out of the profile. | Can make active work easier to inspect when idle threads dominate the view. |
--comment <text> |
Attaches a note to the capture. | Use a short description such as evening raid event so later viewers know what was happening. |
--save-to-file |
Saves the profile to a file instead of relying only on the uploaded viewer result. | Use when your troubleshooting process requires a local artifact or a later upload. |
For the exact syntax supported by your installed version, consult Spark’s command reference at spark.lucko.me/docs/Command-Usage. Flags can change between releases; do not assume that a command copied from an older guide is valid on your build.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Capture lag spikes instead of average activity
If the server feels fine most of the time but freezes briefly, use a threshold so the report emphasizes slow ticks:
/spark profiler start --only-ticks-over 60
The value is milliseconds, and the example records ticks over 60 ms. Choose a threshold that matches the symptom you are trying to isolate; the command does not prove that 60 ms is a universal definition of lag. Reproduce the spike while the profiler is running, then stop it with /spark profiler stop.
For repeatable incidents, combine a timeout with a comment:
/spark profiler start --timeout 300 --comment evening event
This prevents an unattended capture from running indefinitely and labels the resulting report. If the event occurs at an unpredictable time, omit the timeout or use a longer window, but stop the run once the evidence is collected.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Read the Spark report
Open the uploaded viewer
Stopping a completed profile produces a link to Spark’s viewer. Open it in a browser and look for the interactive flamegraph described by the report page. Wider or larger blocks represent more sampled time in a call path; selecting a block lets you follow the stack into the work beneath it. The visualization is a sampling view, not a list of every instruction executed.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Start with the tick path
- Find the server’s tick or main-thread path in the report.
- Identify the largest child block during the lag window.
- Expand that path until it names a subsystem, plugin, mod, entity operation, chunk task, or other concrete activity.
- Compare the path with what players were doing at the timestamp or event described in your comment.
- Change one suspected cause, reproduce the same workload, and capture a second profile for comparison.
A large block means that Spark sampled the path frequently during the capture; it does not by itself establish that the named plugin or mod is defective. A plugin may appear high in the stack because it triggered work performed by Minecraft or another library. Use the stack context, the reproduction steps, and a before/after profile together.
Interpret filtered profiles correctly
A profile started with --only-ticks-over intentionally omits ordinary ticks. It is excellent for finding spike-related work but unsuitable for estimating how the server spends time during normal operation. Likewise, --thread <name> and --ignore-sleeping change what is visible. Record the options with the report so another administrator knows what the flamegraph represents.
Use Spark’s other diagnostics alongside a profile
Spark includes commands that answer questions a CPU profile alone cannot:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Area | Commands | Question they help answer |
|---|---|---|
| Health and timing | /spark health, /spark ping, /spark tps, /spark tickmonitor |
Is the server currently healthy, how responsive is it, and are ticks missing their expected timing? |
| Memory | /spark gc, /spark gcmonitor, /spark heapsummary, /spark heapdump |
Is memory pressure or garbage collection relevant, and what is occupying the heap? |
| Activity | /spark activity |
What server activity is occurring while the symptom is present? |
Run these checks during the same kind of workload as the profile. A memory report taken hours after the lag event may describe a different state and should not be treated as proof of the original cause.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Automatic profiling with the background profiler
Spark’s configuration documentation includes the spark.backgroundProfiler setting. It can start profiling automatically at startup, which is useful when the problem happens during a restart window or before an administrator can log in. Enable it only when you understand where the resulting data will be stored or uploaded and who can access it. For an intermittent issue, automatic startup profiling can provide coverage that a manually timed capture misses; for a routine server, leaving continuous profiling enabled may create unnecessary diagnostic data.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Use the configuration documentation and the syntax for your installed Spark version when changing this setting. After editing configuration, restart the server and verify the behavior in the startup log rather than assuming the setting was accepted.
Troubleshoot common installation and profiling failures
“Unknown command” after restart
- Confirm the jar is in
pluginsfor Paper/Spigot ormodsfor Fabric/Forge/NeoForge. - Check that the jar matches both the Minecraft version and loader.
- Read the startup log for a dependency, Java, or loader error.
- Run
/spark versionfrom the console. If it still fails, remove the incompatible jar and download the correct build from the official page.
Permission denied
Use the console to rule out a player permission issue, then grant spark or spark.profiler to the administrator group, or use operator status where appropriate. Avoid granting broad operator access solely to run a diagnostic command.
The profile is empty or unhelpful
- Make sure the profile was started before the workload and stopped after it.
- Repeat the capture with players online if the complaint occurs under load.
- Do not use a narrow thread filter until you know the responsible thread.
- If a spike is rare, increase the capture window or use a timeout long enough to include it.
- Check that
/spark profiler cancelwas not used accidentally and that the report link belongs to the completed run.
The report shows too much idle activity
Capture the event while it is occurring and consider --ignore-sleeping or --only-ticks-over <ms>. These filters improve focus but also remove context, so keep an unfiltered profile when you need a baseline.
A guide’s command does not work
Use the command reference for your installed release at spark.lucko.me/docs/Command-Usage. In particular, use /spark profiler stop, not the alternate /spark profiler --stop form shown by some third-party instructions.
A repeatable investigation workflow
- Verify the environment. Record the Minecraft version, loader, Spark version from
/spark version, and whether the server is Paper, Spigot, Fabric, Forge, or NeoForge. - Describe the symptom. Note when it occurs, how many players are present, and what action reproduces it.
- Check live health. Run the relevant health, tick, and memory commands while the symptom is visible.
- Capture a baseline. Run
/spark profiler startduring ordinary play, then/spark profiler stop. - Capture the incident. For a spike, use
--only-ticks-over; for a bounded test, add--timeout; add--commentto identify the event. - Read the flamegraph. Follow the largest relevant tick path into the concrete activity beneath it.
- Test one change. Disable or adjust one suspected plugin, mod, entity farm, or workload, reproduce the same event, and compare a new profile.
- Share responsibly. Send the report URL and the exact command options to the administrator or developer who needs them, not to an unrestricted audience.
This process separates installation problems, permission problems, ordinary load, and event-specific spikes. It also gives you comparable evidence instead of relying on a single screenshot or a subjective description of lag.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

