Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

unRar gets itself killed.

Featured Replies

Hi

 

When trying to unrar (from MC and from command line) it always get killed, memory problem.

 

I have 2GB ram and I am trying to open a ~70 file rar with 1 file inside which is 7GB...

 

Any toughts?

 

Thank you

Hi

 

When trying to unrar (from MC and from command line) it always get killed, memory problem.

 

I have 2GB ram and I am trying to open a ~70 file rar with 1 file inside which is 7GB...

 

Any toughts?

 

Thank you

Which basically indicates that 7GB of data will not fit in 2GB of ram.  Sorry...  You might be able to define a "swap" file and perform the un-rar as it will them be able to use more "virtual" memory.  You'll probably also need to adjust the cache_pressure so it will free memory needed from being hogged by the disk buffer cache.

 

Joe L.

  • Author

Can you please explain what is cache_pressure , where I can find it and learn about it?

 

Also, I find it strange, all slackware OS can not unrar a file if a swap is not defined?

 

Why unrar the whole packed context into the memory?

You unrar to a portion of the memory and from there stright to the disk...

 

In windows the OS manages that... I did not see my windows Swap file going 7GB when I unpacked there...

It swayed around 2GB (my win memoryis 2GB as well)

 

Are you sure this is the problem?

Hi

 

When trying to unrar (from MC and from command line) it always get killed, memory problem.

 

I have 2GB ram and I am trying to open a ~70 file rar with 1 file inside which is 7GB...

 

Any toughts?

 

Thank you

Which basically indicates that 7GB of data will not fit in 2GB of ram.  Sorry...  You might be able to define a "swap" file and perform the un-rar as it will them be able to use more "virtual" memory.  You'll probably also need to adjust the cache_pressure so it will free memory needed from being hogged by the disk buffer cache.

 

Joe L.

 

also, If using swap, /proc/sys/vm/swappiness needs to be adjusted.

 

example.

old=`cat /proc/sys/vm/swappiness`

echo 100 >/proc/sys/vm/swappiness

yourcommandhere

echo $old >/proc/sys/vm/swappiness

 

 

In one of my huge rsync backup jobs I have to adjust a few kernel parameters to keep it from bombing.

 

 

here's the snippet from my rsync job.

 

echo 3              > /proc/sys/vm/drop_caches

echo 100            > /proc/sys/vm/swappiness

echo 200            > /proc/sys/vm/vfs_cache_pressure

nice ionice -c3 rsync -aW ${RSYNCOPTS} ${BACKUPSRC} ${BACKUPDIRD}

echo 3              > /proc/sys/vm/drop_caches

echo $swappiness    > /proc/sys/vm/swappiness

echo $cachepressure > /proc/sys/vm/vfs_cache_pressure

Can you please explain what is cache_pressure , where I can find it and learn about it?

 

vfs_cache_pressure

Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects.

 

At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.

 

Also, I find it strange, all slackware OS can not unrar a file if a swap is not defined?

 

Why unrar the whole packed context into the memory?

You unrar to a portion of the memory and from there stright to the disk...

 

In windows the OS manages that... I did not see my windows Swap file going 7GB when I unpacked there...

It swayed around 2GB (my win memoryis 2GB as well)

 

Are you sure this is the problem?

 

Where are you unraring the file?

Is the file on /mnt/disk1 and have you cd'ed to /mnt/disk1

 

If you are unraring it onto the root filesystem that would surely cause a system problem.

Can you please explain what is cache_pressure , where I can find it and learn about it?

 

Also, I find it strange, all slackware OS can not unrar a file if a swap is not defined?

 

Why unrar the whole packed context into the memory?

You unrar to a portion of the memory and from there stright to the disk...

 

In windows the OS manages that... I did not see my windows Swap file going 7GB when I unpacked there...

It swayed around 2GB (my win memoryis 2GB as well)

 

Are you sure this is the problem?

cache_pressure is the variable that defines how tightly the Linux kernel tries to keep disk buffer cache in memory.   It basically is set to NOT give up the unused buffer cache if a program requests memory.   For that reason unrar probably cannot get the memory it needs even though you have 2GB of RAM.  Once you start reading in the blocks to be un-rared you use it all up.

 

To see the current value type:

sysctl vm.vfs_cache_pressure

 

To set it to a new value type:

sysctl -w vm.vfs_cache_pressure=200

 

200 will make it more likely to give up buffer cache memory for use by programs.

 

You still may also need a swap file.   You'll soon know.

 

Joe L.

It basically is set to NOT give up the unused buffer cache if a program requests memory.

I don't think this is 100% correct. The statement is "preferring" to preserve dentry and inodes when reclaiming memory.

I remember going through the kernel code and there was a calculation using this number to determine if the dentry or inode was kept around longer or freed when unused (unreferenced).

I never saw where it sets a limit to NOT give up or hold memory if a program requests memory.

I saw it in a routine that seemed to be accessed by a time cycle whereby cleanup was occurring.

 

It basically is set to NOT give up the unused buffer cache if a program requests memory.

I don't think this is 100% correct. The statement is "preferring" to preserve dentry and inodes when reclaiming memory.

I remember going through the kernel code and there was a calculation using this number to determine if the dentry or inode was kept around longer or freed when unused (unreferenced).

I never saw where it sets a limit to NOT give up or hold memory if a program requests memory.

I saw it in a routine that seemed to be accessed by a time cycle whereby cleanup was occurring.

 

Right... I should have said it is set to not to prefer to give up memory.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.