BES – Battle Encoder Shirasé
for Win XP/7/10/etc.
Ver. 1.7.8 (stable) & (test): February 1, 2021

Free (open-source) Software that controls per-process CPU usage, released under the GNU General Public License.
Portable (installation not needed).

Version 1.7.8 (stable) – January 23, 2021
Version (test) – February 1, 2021

BES is a small tool that throttles the CPU usage of the process you “target”: for instance, you can limit the CPU usage of a process which would use CPU 100%, down to 50% (or any percentage you’d like). With this, you can use other programs comfortably while doing something CPU-intensive in the background. For more than 10 years, BES has also helped various gamers as a handy “anti-freeze” agent, though that was not the original purpose of BES. Well-known examples quick-fixed by BES include The Witcher 3 + dual-core (2015), Steel Panthers: World at War, Kingdom Come: Deliverance, and GTA 5 Online.


Current versionVer. 1.7.8 (January 23, 2021) Stable
— SSE2 required (CPU from year 2000 or newer)
MD5 of zip = EBB26141A47F0D8D91763B9CC7DDDCD1
MD5 of BES.exe = 29E8A3F26D102EB5C37DD7598F3E3BBF
[Change from 1.7.7] fixed minor memory leak (thanks to Eric).
Affected versions: 1.7.0–1.7.7 and 1.8.0– Version 1.6.x and before, 1.7.8+, are not affected.
Impact: Maybe practically harmless. While a non-affected version may use about 8.5 MiB memory, an affected version may use about 9 MiB memory after a long while, wasting ~0.5 MiB. It seems unlikely that this will cause any noticeable problems, since you probably have more than 1 GiB (1000 MiB) memory anyway. That said, you may want to use a fixed version (1.7.8+).

Previous versionVer. 1.7.7 (December 3, 2017) Stable
— SSE2 required (CPU from year 2000 or newer)
MD5 of zip = 7A3C11B829B7FF2B057CA2EA7B2D6D70
MD5 of BES.exe = 775466B59DEEA1498FC9B150595F5342

Note: Run bes.exe as admin (right click > “Run as Administrator”); else the processes running as admin won’t show up in the “Target” list.

If you’re worried about false positives in Virustotal/Jotti (see FAQ below), you can use this build (Ver. 1.6.2) from 2014 instead (Virustotal, Jotti).
MD5 of zip = 1B5AAC7F841F0B9ED514FA035775608A

Test versions: usually you don’t need them: v1.8.0.24 (Feb 1, 2021), which has a different (experimental) option to trottle targets, called “by process”. Try this option only if 1.7.x doesn’t work well for your target; otherwise it may just backfire! It has often been reported that the new option works poorly. and later have an optional Russian interface (menu language, translated by a user, not by me). = minor memory leak fixed.

How to use it

Basically, just unzip the zip wherever you like and run bes.exe with admin privileges (right click > “Run as Administrator”). You don’t need to install it. When you don’t need it anymore, just delete the whole folder that you unzipped, and everything will be okay.

For more info: Read index.html in the zip and/or do some web search to see what others are saying about BES. There are guides in many languages. BES itself supports a few languages, e.g. French, Japanese, Finnish, Chinese.

NOTE: This page (the official site of BES) has existed for about 15 years, originally having a tutorial with a lot of images. However, due to the RDR2 mess in Novermber 2019, too many RDR2 players are coming here now, trying to get BES, which could cause a server down and/or too much transfer. Because of this, I have made this page plain and text-only (for the time being) to save server load and bandwidth. Previous versions of this page are on

FAQ: General

Q: Is BES free?
A: Yes. Free as in free beer (no charges), free as in freedom (open-source, GPL), and free of annoyance (no ads/no malware/no nag screens/no DRM/no phoning-home). It’s just a simple, small tool written many years ago for myself.
Q: Why can’t I see my target processes in the list?
A: Typically because you don’t run BES as admin.
Q: Can I play my video more smoothly (without stuttering) while I limit it with BES?
A: Maybe, maybe not. (1) Don’t limit too much (e.g. −90%), instead limit lightly (e.g. −5%). (2) If you have to limit more (e.g. −50%), then after you start limiting, click [Control] in the main window and use a small value in Target Sleep/Awake Cycle. Maybe try 40, or even 30, 20, or 10.
Q: Who uses BES, and why?
A1: BES can help a video encoder when their CPU may be overheating (it is a software CPU cooler). Sometimes you may want your fans to be less noisy, even if encoding takes longer (e.g. when you encode something while sleeping in the same room).
A2: BES is also used by some gamers as a quick-fix, e.g. when the CPU load is too high. This is just a workaround, not a real fix, but sometimes an otherwise unplayable game becomes magically (?) playable with BES. Generally the [Limit this] button of BES is helpful. The freeze-after-intro bug of Call of Duty WWII is a rare example, where the [Unfreeze] button of BES was used to fix the frozen screen.
Q: Is BES a good solution?
A: Sometimes yes, but there are often better solutions than using this tool. As for CPU overheating, the obvious solutions would be: (1) get rid of dust in your computer (e.g. by using canned air); (2) get a better cooling system.
Q: I’m getting the “Permission denied” (“Access denied”) error?
A1: This problem may be very hard (sometimes impossible) to solve. First, make sure you run BES as admin. Second, some say it will help if you start BES before you start your target. Third, though this is anecdotal and probably doesn’t work in general, at least a few Black Desert Online users reported this trick. Also: this.
A2: According to one user, increasing the paging file size (by e.g. 2000 MB) may solve the problem. First you may want to check the currently allocated size, etc. in the Virtual Memory dialogbox of your OS. If you suspect that your paging file size may be too small, you could increase it to see if that helps. Note, however, if you change these settings randomly, your system may become unstable. So before you change anything, make sure you can revert the changes in case something goes wrong (take a screenshot of that dialogbox, and make a note of the current options). You can email me if you find a method to fix this problem; I’d like to share that info with other users having the same problem. Thanks!

FAQ: Safety

Q: Is BES safe to use?
A1: I could say yes, but that would be meaningless because I could lie. When you download anything, YOU should scan it with your anti-virus software. If you get BES from a random mirror site (other than the official page, please check the MD5 value to make sure that your copy has not been modified.
A2: Another thing you may have to worry about: BES may be seen as a cheating tool (e.g. it can slow down a difficult shooter game) and you may face the consequences if you use BES. I can’t answer a question like [Is it safe to use BES in GTA5 or I get banned?]. Be prudent and draw your own conclusion. Especially, if you’re beta-testing, report the issue to the game devs when you experience abnormally high CPU usage. Just using BES as a quick-fix in such a situation is essentially hiding a bug, which defies the purpose of beta-testing.
Q: Why do a few (less-known) anti-virus engines sometimes see BES as suspicious (false-positive), while well-known engines are generally okay with BES?
A1: Possibly because they are financially desperate and unethically advertising themselves by claiming, “We’re different. We can detect a virus that no one else can. Buy our products now!”
A2: To be fair, BES does look suspicious because it messes with other processes — it slows down the other program you target, not letting it run normally, by force-suspending and resuming its threads periodically. This unusual behavior of BES may be seen as suspicious, if heuristic malware detection is over-sensitive.
Q: What should I do if my anti-virus software thinks BES is suspicious?
A1: If that happens, listen to it and don’t start bes.exe. As the author, I know BES is not a virus, but I have no way to prove that (unless you’re a programmer who can read C/C++). It would be unethical for me to say you can ignore such a warning, because then you might start thinking you can ignore your anti-virus software, which would be very dangerous, obviously. Besides, I can’t rule out the possibility that you somehow got a fake copy of bes.exe, maliciously modified. Thus, if your anti-virus software warns you, play it safe and listen to it.
A2: If you are a programmer and the same thing happens to you, the story is different: check the source code in the subfolder src in the zip (messy but the logic is simple and clear), and you will know that nothing bad is hidden there. Then, compile your own binary (you can also modify BES as you like — the beauty of open-source/GPL). This way you’re 100% sure what you have, and no one can scare you anymore. The truth will set you free (if you’re a programmer).

FAQ: Misc

Q: What does the name “Battle Encoder Shirasé” mean?
A: A parody of Battle Programmer Shirase (Wikipedia). A person who encodes movies is called “encoder.” For what it’s worth, Shirasé is pronounced like she-rah-say.
Q: Who created BES?
A: Me — someone from, who encodes things.
Q: Can I use BES as a command line tool?
A: Yes. See Help - Commandline help (or hit [F2]), or read this (or index.html in the zip). Using command line parameters, you can also start BES automatically when you start Windows, and let it target specific process(es) pre-emptively, without manually limiting them every time.
NOTE: You should quote your target(s), e.g.
bes.exe -m "C:\path\to\target.exe" 40
bes.exe -m -J "C:\path\to\target1.exe" 10 "D:\blah blah\whatever\target2.exe" 20
You can use a wildcard “*” too, e.g.
bes.exe -m "C:\some\folder\*.exe" 60
Q: Are there Linux/Mac versions of BES?
A1. No, but you can try another tool called CPUlimit instead. Unlike BES it’s a command line tool without GUI, but it should work fine (possibly even better than BES).
A2. Linux has a built-in feature called Control Groups (Cgroups), “making it possible to do things such as limiting the amount of CPU time and memory available to a cgroup” (a user-defined group of processes). For more info, man cgroups (7).

E-mail Address

If you have any trouble, or if you have any suggestions, bug reports, or comments, you can contact the author at the email address in this picture For anti-spam reasons, I may change my contact address any time and I may reply to you using a different mail address, but I will try to write you back anyway. When writing to me: (1) make sure that I’ll understand that you’re talking about BES [since I’m offering several programs/scripts (all open-source)]; (2) If possible, try not to use a Gmail address [you can use it anyway, but your message might be spam-filtered]; (3) If you attach large file(s), e.g. a log file, please compress them as a ZIP, .7Z, etc.


While BES is free software and you don’t need to pay for it at all, I’d be happy to accept bitcoin donations.


If you’d like to use Paypal, there are a few options:

(1) If you are interested in bitcoin (BTC): you can visit Virwox, where you can buy BLL with Paypal, and exchange BLL to BTC. Tips: “Link to avatar” is optional; “No Avatar” is fine.

(2) If you are not interested in bitcoin: you can visit and support the CAL project via Paypal. CAL is a project to make a huge online dictionary of the Aramaic language. Although hosted by Hebrew Union College, the project is not necessarily Jewish (e.g. one of the main dialects of Aramaic is mostly Christian). It’s not my project, and has nothing to do with BES, but it’s a great project any language lover may want to support.

Alternatively, instead of sending a donation to me or someone else, you can simply be a bit nicer to your friends/family members/etc. This may sound strange and/or corny, but I think basically it’s the same thing, because that way, in the big picture, you’re making the world where I live, a slightly better place. Equivalently, you could also try to be slightly more tolerant to your “enemies,” refraining from using a religion or non-religion as a weapon.