As much as I love FreeBSD, I also hate it as much. I’ll try to explain some of the reasons here.
For starter, broken ZFS + VirtualBox combination is the one really getting my nerves. Combining ZFS and VirtualBox is trivial if you just rebooted your system but not so trivial after you run your system for several hours (or days). Reason? ZFS allocated so much ram that VirtualBox doesn’t want to start anymore. Or at least that’s the reason last month. And occurred to me again tonight (albeit not sure if it’s ZFS this time). One of the solution was using a custom program for allocating and zeroing few gigabytes of memory so it can be used for VirtualBox – which I can’t find the program anymore and unable to recreate (long time not coding in C).
The second one is even more annoying – ports system. FreeBSD is always praised for its ports system. And it also happen it is “love it or hate it” and I’m in the “hate it” camp. Why the heck they decided that being able to customize everything is a good thing escapes me. And sure is not a good thing configuring over 600 packages (for running GNOME) and compiling them. Talk about waste of resource.
It wouldn’t be so annoying if there’s some kind of sane package manager – which there isn’t. Portupgrade takes hours to actually finish walking through dependencies and portmaster broke my system in horrible way (one of them being killing perl5.12 for perl5.10 instead of the fact that I never asked for it).
So, yeah, I guess I’ll move to OpenIndiana sometime today (or tomorrow). After buying an OpenIndiana-supported VGA card, that is – because it only supports nvidia. And really, if you’re using UNIX (FreeBSD and Solaris, specifically), you should use nvidia. They have the best driver support.
Lastly, my FreeBSD system on remote location crashed again tonight for reason I don’t know of. And I’ve connected to it successfully just few minutes earlier. And I did nothing. Apart from trying to unload VirtualBox driver (which failed since there’s a VBox instance running). Isn’t great?
Protip: you have to recompile kernel if you want to play video using Radeon HD 4250 (onboard) graphics.
Up next: FreeBSD love. Or maybe not. We’ll see.
I thought you can limit the arc maximum size and preserve some memory for vbox (unsure), I don’t know if there’s another app also hogging the memory, though…
and for the c code…
isn’t it just `malloc` and `free` call?
(unsure)
oh, in another note
I was tempted to lol’d so hard after reading this post at the first time…
hahaha…
Idk, it didn’t work with simple malloc and free. Also changing memory limit requires reboot which isn’t quite fun when running several torrents (and vbox sure runs fine immediately after reboot).
You should fill the memory after allocating them,
something like this would work,
int i = 1024 * 1024 * 1024; // 1GiB
char *m;
m = (char*) malloc(i);
while (i > 0) {
m[--i] = "B"; // random crapbyte use anything you like
}
free(m);
m = 0;
I’m not sure you still need that script though, :p
Not sure if this is useful, but if ZFS digs deep into swap, you could use swapoff to force it to move swap into active memory.
I’ve actually had that problem with virtualbox as well, though it was with firefox using many gigabytes of memory in my case. For me, restarting firefox and running the swapoff solved my problem. That’s really a bummer that ZFS hogs so much memory though. Maybe it is better on solaris, I still use FF2 with softupdates on my server and softupdates journaling on my netbook (which works much better than regular softupdates so I will switch to that for all future FreeBSD filesystems)
Of course, neither of those have the state-of-the-art enterprise features of ZFS, but those are overkill for my needs.