SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Best practice for quickly applying Renaming masks to a large collection

About a week ago I finally finished metatagging an enormous collection of music and I just discovered there was an error in my mask causing a hard-to-notice but undesirable error in the folder structure.

I would like to go through my entire collection (>500gb) and simply apply a good ole Command+9 on the whole Music folder (Folder Renaming). But whenever I load more than 5000 files into Jaikoz (mac and pc) it becomes very slow and unresponsive.

I’ve heard something about increasing the memory allocation (or something) and I believe my system is more than capable (8gb of RAM) of loading and manipulating ~500gb of music so I was wondering how I might accomplish this? Or if you have any other suggestions for quickly applying this simple manipulation?

Thanks again!

If I understand your question correctly, I believe section 3.5 Memory Management addresses this issue exactly. For the online details of this, see Memory Management.

The bottom line is that you need to specify the memory arguments to the JVM on the command line that is used to start Jaikoz.

[quote=arick]If I understand your question correctly, I believe section 3.5 Memory Management addresses this issue exactly. For the online details of this, see Memory Management.

The bottom line is that you need to specify the memory arguments to the JVM on the command line that is used to start Jaikoz.
[/quote]

@arick, thanks for the info! I’m not a complete novice, but FAR from an “experienced user of Java” that it warns should only do this, so if you don’t mind I’d like to clarify exactly what I should add to make my process a touch easier.

I have 8gb of ram in the system I’m going to use and during the whole “Jaikoz Control+9ing” procedure I’ll be doing very little else on that PC. To maximize the amount of resources I devote to Jaikoz, while minimizing the chances of adversely affecting the system as a whole, whats a safe number to change the memory allocation to? The top paragraph says that Jaikoz’s default is 800mb (w/ 100mb extra to run) but in the 3.5.1 Jaikoz.exe example, they change it to 512mb, which from my rudimentary knowledge of mathematics, is LESS memory. Is the number you add the EXTRA memory you’re allocating? It doesn’t appear like that’s true, but the example is confusing

Also there seems to me that there are errant double quotes in the example. if I want to increase the memory allocation to, say for example, 4gb is this what I would put in the “target” after looking at properties of the exe:

or would I need a double quotes at the beginning of the file path? or would it need to enclose the Jmaxheap parameter?

Thanks in advance for your help!

Edit: Found this thread: http://www.jthink.net/jaikozforum/posts/list/776.page

Seems like manipulating the .bat part is more useful…

If i have a system with 8gb of RAM that I’m mostly devoting to Jaikoz during use is the below reasonable/too high/too low?

Should I tweak any of the individuals? I understand Jaikoz launches with xms + MaxPermSize of memory and uses up to xmx + MaxPermSize as needed, but I’m not really clear on what would be best (fastest/least dangerous) combo to accomplish what I need.

Hi, the online help is out of date it changed with Jaikoz 5.0 0 (I need to update it) but if you check the offline help from within Jaikoz you’ll see a much easier way to update memory by editing a Jaikoz.ini file. ALl not eto allocate more than 2gb of memory you need to use the 64bit version of Jaikoz rather than the 32bit version.

However I don’t know how many songs you actually have but Jaikoz will probably still struggle with this. I know it is an additional cost for you but you might consider trying SongKong for renaming which is not memory bound like Jaikoz

If you are going to be using Jaikoz, I suspect that most performant solution will be to setup a local instance of MusicBrainz. This is what I am in the process of doing. Unfortunately, at 5 GBytes for the VM image, with my bandwidth, that will take a day or so to download.
But there was a couple of points I wanted to get back with you on.

[size=16]There may be some issues with the Jaikoz help text[/size]
[size=12]Modifying the Executable Icon Properties[/size]
Using the latest version of the Jaikoz 64-bit, I tried modifying the icon that calls the executable, exactly as described in the help text. I added Jmaxheap=1536000000 to the end of the command line in the properties of the icon on the desktop, and restarted Jaikoz.

Then I checked the memory usage by clicking on the “console” tab on the very bottom window pane in Jaikoz. Typically, this is the window pane that you use to get detailed information about the individual song files. In the “View” menu, this window pane is called "Show Detail Pane ". Click it on and off a couple of times, and you will see which window pane I am referring to.

TBL: According to Jaikoz console window, changing the Jmaxheap value in the properties of the bug-shaped icon on the desktop doesn’t seem to have any affect. So, I am digging into this issue a bit myself, since I have two or three music repositories that are between 25 and 50 GBytes each.

[size=12]Modifying the Jaikoz.bat File Properties[/size]
The last time I was doing massive changes to my music repositories, I used the Jaikoz.bat file. I believe that this was version 4.5.1. This is the contents of my Jaikoz.bat file from then …

@echo off
set CLASSPATH=
java -Xms150m -Xmx4500m -XX:MaxPermSize=200m -splash:splash.png -jar lib\\jaikoz.jar -l2 -m2 -f

Obviously, the JVM that I must have had installed in the OS must have been a 64-bt version of the JVM. Otherwise the maximum heap size that I was using would have been too large for a 32-bit version of WinDoze.

[size=16]Your physical memory size and the version of Jaikoz executable that you are using don’t seem to line up[/size]
From the filename of the executable that you are using, it appears that you are running the 32-bit version of Jaikoz, and that you are running on a WinDoze 32-bit version of the OS. I am guessing this because the filename for the 64-bit version of Jaikoz is Jaikoz64.exe, and the 64-bit version of WinDoze OS would have installed a 32-bit application in C:\Program Files (x86)\Jthink\Jaikoz

[size=12]Physical memory size of WinDoze 32-bit[/size]
No matter how much physical RAM you install in your machine, 32-bit WinDoze is only capable of addressing about 3 1/2 GBytes of physical RAM. The rest of that RAM is just going to waste.

[size=12]Maximum Heap Size of a 32-bit JVM[/size]
On a standard WinDoze machine, the maximum heap size is 2GBytes.
On WinDoze server, you can 3GBytes.
On a Linux machine, you can get 4GBytes.

[quote=arick]If you are going to be using Jaikoz, I suspect that most performant solution will be to setup a local instance of MusicBrainz.
[/quote]
That helps with faster matching but isn’t relevent to file/folder renaming.

Please checkout Help/Offline Help not Online Help, memory is now modified by modifying a Jaikoz.ini file, not the method you describe.

[quote=paultaylor]Hi, the online help is out of date it changed with Jaikoz 5.0 0 (I need to update it) but if you check the offline help from within Jaikoz you’ll see a much easier way to update memory by editing a Jaikoz.ini file. ALl not eto allocate more than 2gb of memory you need to use the 64bit version of Jaikoz rather than the 32bit version.

However I don’t know how many songs you actually have but Jaikoz will probably still struggle with this. I know it is an additional cost for you but you might consider trying SongKong for renaming which is not memory bound like Jaikoz

[/quote]

I appreciate the suggestion to use SongKong, but since this is the last step and I know exactly how to do it (literally just need to ctrl+9 and save), I think even if I need to load the songs in 20 segments, I’ll probably still stick with Jaikoz (no offense!). But if you could give me some tips on reducing that to 10 or less segments I’d be very grateful.

My system is 64bit, so I would imagine I have the 64bit version of Jaikoz, but out of curiosity, what is the easiest way to check this? and do you have any more color on exactly how I would manipulate the jaikoz.ini file?

@arick, thanks so much for the response and sorry for the confusion. That line of code, I simply pasted from the example of a thread I found from a few years ago. My system is 64bit and, as I stated above, I’m near positive I’m using the 64bit version of Jaikoz.

Wow you two are fast, that was 2 posts while I was writing one! Anyways, Paul, any help on how I manipulate that ini file? Or I could just open up that Help/Offline help file when I’m home (I assume the instructions are accessed from inside Jaikoz?)

Yes, you can access from home its dead easy though just increase the value of the -Xmx value.

thanks!

Worked perfectly, my only regret is not doing it months ago. thanks for your help.

Modifying the Jaikoz64.ini file settings is absolutely the best way to go!!! I used this setting

and even hitting the online MusicBrainz database I was clean up my local 25 GByte music repository very quickly.

Another very important setting is turning OFF the setting for “check for original release”. That also has a major performance impact!

I am probabaly both naive and OCD, but I always update my meta-data as part of cleanup and renaming my collection. That is why I included the recommendation to create a local instance of MusicBrainz. According to the MusicBrainz site, the rcommended solution to set up a local copy of MusicBrainz is to set up a virtual machine using Virtual Box and the provided virtual image, which includes the ability to keep your local copy updated. For folks with large music repositories, this would seem to be much more performant, and makes you a better network citizen

Seth has 8 GBytes of RAM, as do I, so I am assuming that both of us have the hardware bandwidth to at least explore this option.