Tips and Tweaks Plugin to possibly improve performance of Unraid and VMs


Recommended Posts

7 hours ago, olympia said:

Hi @dlandon,

 

Could you please have a look at this thread?

Bottom line is that there is a race condition between custom network detection for dockers and tips & teaks plugin applying nw settings.

 

What is your position on this? :)

 

Thank you!

 

 

There are so many different NICs and each will handle things differently.  Tips and tweaks is available for you to make changes if you have issues.  Some people have reported issues with flow control and offload enabled.  If disabling those doesn't work for you, leave them enabled.

Link to comment

@dlandon, I believe you misunderstood the case.

 

It is not the disabling itself what is causing the issue, but the moment tips and tweaks applying those settings.

My setup is working with having these two settings disabled for ages.

 

However, with unraid v6.8.0 there is a race condition issue at the moment of the plugin is applying the settings and docker to detect custom networks.

When the plugin applies the NIC settings, the NIC gets disabled for a sec or two (I guess) and that's the same moment when docker is trying to detect custom networks. As a result of the disabled NIC state, it doesn't detect anything. If after booting up I restart the docker service, the custom networks get detected properly with the settings applied.

 

It's not a biggy for me as I don't have hard reasons to disabling those settings (although that's what the plug recommends), but I am reporting this, because I guess more users will face with this issue when v6.8.0 stable gets released.

Link to comment
4 hours ago, olympia said:

@dlandon, I believe you misunderstood the case.

 

It is not the disabling itself what is causing the issue, but the moment tips and tweaks applying those settings.

My setup is working with having these two settings disabled for ages.

 

However, with unraid v6.8.0 there is a race condition issue at the moment of the plugin is applying the settings and docker to detect custom networks.

When the plugin applies the NIC settings, the NIC gets disabled for a sec or two (I guess) and that's the same moment when docker is trying to detect custom networks. As a result of the disabled NIC state, it doesn't detect anything. If after booting up I restart the docker service, the custom networks get detected properly with the settings applied.

 

It's not a biggy for me as I don't have hard reasons to disabling those settings (although that's what the plug recommends), but I am reporting this, because I guess more users will face with this issue when v6.8.0 stable gets released.

It's possible that the NICs you use take a while to apply the settings.  It should be very quick.  What NICs are you using?

 

You could delay the start up of your troublesome dockers by setting a delay and/or controlling the order the dockers start.

 

I'm not interested in chasing down a problem that has only come up for one user.  If it occurs a lot, I might be able to spend some time on it.  Right now if I change the event that the plugin uses to apply the settings, it may create more issues for other users.  This is the first time this has come up.

Link to comment

It's an onboard NIC Z270M Pro4

NIC is: Intel® I219V.

 

Fair enough, I am not forcing anything.

On the side note: I never had this issue pre v3.8.0, so it pretty much seems to be v3.8.0 specific.

Subsequently, potentially more feedback like this will come when stable is released and more users are upgrading.

 

Link to comment

I updated the plugin.

 

I reverted some aggressive offloads from the 6.8 beta testing.  I was having an issue with offloads when I was running the 6.8 beta and was experimenting with disabling offloads.  I removed those aggressive offloads and it appears that one of those was causing the NIC to reset.  Probably will fix your issue.

  • Thanks 1
Link to comment
8 hours ago, IamSpartacus said:

It appears the CPU Scaling Governor "Power Save" setting no longer is functioning in 6.8.  It keeps the CPU scaled down and does not ramp it up on load.  I have to set to "On Demand" for it to scale up.

Tips and Tweaks allows you to set a cpu governor mode, but it has no control over the governor operation.  The cpu governor is a part of Linux for the Intel or AMD cpu.  Based on some other posts, it sounds like the power save governor has been changed in the latest release.

Link to comment
  • 1 month later...

humm.... i just tried this plugin... changed the vm.dirty_background_ratio to 5 and the vm.dirty_ratio to 80.. clicked apply and got presented with a black page... now i cannot access the web interface anymore... picture look like this... any tips how to restore to the default settings again?

 

image.png.c6388f47839583279178d2950f187dd1.png

Edited by Meph
Link to comment

Tried setting the things back.. after googling i found how to do it.. 

sysctl -w vm.dirty_ratio=20
sysctl -w vm.dirty_background_ratio=10
 

But this did not help... any more suggestions? i have no idea what happened.. 

 

Can i see somewhere what changes the plugin changed and then change it back?

The system seems really slow, cannot really access the fileshares anymore.. i can login via SSH though.. no high cpu load and memory seems fine.. 

 

Edited by Meph
Link to comment

You probably need to reboot.  I think you can do it with  reboot   from the console.  You probably caused the GUI process to get killed when you requested that much memory.  By the way, what you are trying to do?  As I understand those commands are used to delay the writes to the disk so that the user experience remains 'snappy'.  (i.e., that the characters appear instantly on the screen as typing rather then pulsing for a few seconds and then instantly appearing in a burst.)

Edited by Frank1940
Link to comment
32 minutes ago, Meph said:

Tried setting the things back.. after googling i found how to do it.. 

sysctl -w vm.dirty_ratio=20
sysctl -w vm.dirty_background_ratio=10
 

But this did not help... any more suggestions? i have no idea what happened.. 

 

Can i see somewhere what changes the plugin changed and then change it back?

The system seems really slow, cannot really access the fileshares anymore.. i can login via SSH though.. no high cpu load and memory seems fine.. 

 

Remove the plugin and reboot.  Things will go back to the default settings.

Link to comment
Just now, Meph said:

Well i cannot access the webpage.. so how do i remove it via ssh? or check what changes the plugin did?

Delete the file /flash/config/plugins/tips.and.tweaks.plg and reboot.  The plugin will not install.

 

Another way to do it is to boot in safe mode.  No plugins will be installed.

Link to comment
27 minutes ago, dlandon said:

Delete the file /flash/config/plugins/tips.and.tweaks.plg and reboot.  The plugin will not install.

 

Another way to do it is to boot in safe mode.  No plugins will be installed.

Hmm.. i have no /flash directory.. not sure how the filestructure of unraid is setup .. :(

 

Found it.. /boot/config/plugins.. 

Edited by Meph
Link to comment
Just now, Meph said:

not sure how the filestructure of unraid is setup

Depends on what system you are viewing it from, and the method of viewing.

If you insert the Unraid flash drive into a windows box, it will be <Drive Letter>:\config\...

If you SSH into a running Unraid system, it will be /boot/config/...

If you access the flash share across SMB, it will be //Tower/flash/config/... or \\Tower\flash\config... depending on windows or not.

Link to comment
2 minutes ago, jonathanm said:

Depends on what system you are viewing it from, and the method of viewing.

If you insert the Unraid flash drive into a windows box, it will be <Drive Letter>:\config\...

If you SSH into a running Unraid system, it will be /boot/config/...

If you access the flash share across SMB, it will be //Tower/flash/config/... or \\Tower\flash\config... depending on windows or not.

ahh.. thanks for that :) .. Rebooting now... is it powerdown -r that is a safe way of reboot.. or would actually reboot work fine too?

Link to comment

I ended up changeing this variables by hand.. I did set background to 5 (to start write earlier) and dirty_ratio to 90... That means i can copy around 10GB of data before a slowdown is noticed.. Thats perfect for my setup.. Before i could just copy around 2 GB or something and then transferspeed went down from 100MB/s to around 35 MB/s... Now i can transfer full speed for about 1,5 minutes or around 10-14GB of data.. 

 

vm.dirty_background_ratio = 5 

vm.dirty_ratio = 90

 

Is there any backside of using this much dirty ratio? I guess the system cache less files when reading?

Link to comment
3 hours ago, Meph said:

Is there any backside of using this much dirty ratio? I guess the system cache less files when reading?

With earlier versions, there were problems with processes getting dumped when more memory was required.  This is normally not an issue EXCEPT that if the process that provides the GUI got dumped, it could not be restarted without a reboot.  I am not sure if this was ever corrected so that a restart was possible. 

Link to comment
  • 4 weeks later...

Thank you for creating the pluggin. I was hoping this would help me but it's making me even more confused! 🙂

 

I'm puzzled if my processor is throttling the frequency down or not.  In several locations, it says my processor is running at it's max 4.0ghz.  But doing the cpufreq-info gives me 1.5ghz to 3.7ghz on different threads.  I also have the "no driver" in the tweak page.  My cool and quiet in my bios is set to "always" The other settings not used for it are "disabled" or "auto".

 

I also notice no power savings at all after loading the pluggin.  (based upon my killawatt meter)  (all my docker apps are shut down)

 

CPU Scaling Governor: Power Save
Enable Intel Turbo/AMD Performance Boost?:  <nothing to pull down>


root@tr3bjockey:~# cpufreq-info -o
          minimum CPU frequency  -  maximum CPU frequency  -  governor
root@tr3bjockey:~# cpufreq-info -g
root@tr3bjockey:~# cpufreq-info -y -m
4294.55 ms
root@tr3bjockey:~# cpufreq-info -y -m
4294.55 ms
root@tr3bjockey:~# cpufreq-info -y -m
4294.55 ms
root@tr3bjockey:~# cpufreq-info -y -m
4294.55 ms
root@tr3bjockey:~# cpufreq-info -d
root@tr3bjockey:~# 

Every 2.0s: grep "cpu MHz" /proc/cpuinfo                                                                                                tr3bjockey: Mon Dec 30 10:27:44 2019

cpu MHz         : 1811.999
cpu MHz         : 1977.109
cpu MHz         : 2729.762
cpu MHz         : 1750.587
cpu MHz         : 1540.822
cpu MHz         : 3401.385
cpu MHz         : 3736.209
cpu MHz         : 3382.610


<on tips and tweak page>
CPU Frequency Scaling

Driver: * no driver *

Governor: <<<<<blank


Motherboard
TITLE    INFORMATION
Base Board Information    
Manufacturer:    ASUSTeK COMPUTER INC.
Product Name:    M5A99FX PRO R2.0
Version:    Rev 1.xx
Serial Number:    xxxxxxxxxxxxxxxxxxxxxxxxx
Asset Tag:    To be filled by O.E.M.
Features:    Board is a hosting board
Board is replaceable
Location In Chassis:    To be filled by O.E.M.
Type:    Motherboard

Processor
TITLE    INFORMATION
Processor Information    
Socket Designation:    Socket 942
Type:    Central
Family:    FX
Manufacturer:    AMD
ID:    20 0F 60 00 FF FB 8B 17
Signature:    Family 21, Model 2, Stepping 0
Flags:    FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
HTT (Multi-threading)
Version:    AMD FX(tm)-8350 Eight-Core
Voltage:    1.4 V
External Clock:    200 MHz
Max Speed:    4000 MHz
Current Speed:    4000 MHz
Status:    Populated, Enabled
Upgrade:    Socket AM3
Serial Number:    To Be Filled By O.E.M.
Asset Tag:    To Be Filled By O.E.M.
Part Number:    To Be Filled By O.E.M.
Core Count:    8
Core Enabled:    8
Thread Count:    8
Characteristics:    64-bit capable

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.