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


Recommended Posts

9 minutes ago, casperse said:

Hi

 

Great plugin!

 

I just tried to change the value:

image.png.3d52f77bfb3e3d17dff4cf0ee1dbad47.png

 

But when I look at the right side its not changed in the tweak plugin

And running the command:

cat /proc/sys/fs/inotify/max_user_watches

Shows that its still set to: 524288?

 

 

Works for me.

Link to comment
  • 1 month later...

I'm trying to use the scheduling features of this plugin to set my CPU to "performance" or "on-demand" depending on time. However, I'm finding that instead of "on-demand" it is setting my CPU to "power save" which is definitely not boosting when needed (have been monitoring via terminal). - Is there any way to fix this?

 

My CPU is an AMD Ryzen 7 3800x (under-volted w/ no OC applied).

Global C-State Control is enabled in my BIOS, along with PBO ("on-demand" works as expected).

 

image.png.d7a81c7b4d4e04e2a029f8f910760498.png

 

 

For reference:

- "Power Save": All cores sit at ~2.1GHz regardless of idle or load.

- "On-Demand": All cores can sit as low as ~2.0GHz and boost/turbo up to ~4.2GHz under load.

- "Performance": All cores sit at ~4.4GHz regardless of idle or load.

 

Edited by MarkRMonaco
Link to comment
4 hours ago, MarkRMonaco said:

I'm trying to use the scheduling features of this plugin to set my CPU to "performance" or "on-demand" depending on time. However, I'm finding that instead of "on-demand" it is setting my CPU to "power save" which is definitely not boosting when needed (have been monitoring via terminal). - Is there any way to fix this?

 

My CPU is an AMD Ryzen 7 3800x (under-volted w/ no OC applied).

Global C-State Control is enabled in my BIOS, along with PBO ("on-demand" works as expected).

 

image.png.d7a81c7b4d4e04e2a029f8f910760498.png

 

 

For reference:

- "Power Save": All cores sit at ~2.1GHz regardless of idle or load.

- "On-Demand": All cores can sit as low as ~2.0GHz and boost/turbo up to ~4.2GHz under load.

- "Performance": All cores sit at ~4.4GHz regardless of idle or load.

 

What driver shows in the "CPU Frequency Scaling"?

Link to comment
  • 1 month later...

I tested the "Power Save" setting for my Intel Atom C3758. By that the CPU was throttled down to 800 Mhz. First it looked good, but then I found out that all content that was streamed through Plex, started to buffer every 10-15 seconds. After choosing the default "On Demand" settiing everything went back to normal. Tips and Tricks shows "Driver: ACPI CPU Freq" as the driver. Could this be the reason (as it did not use the intel pstate driver)?

Link to comment
  • 1 month later...

I noticed that Max Watches 'fs.inotify.max_user_watches': does not seem to apply on boot.

 

If I manually change it and update it the setting gets applied but after rebooting it will revert back to the default value?

 

Been trying to track file usage using the file activity plugin while troubleshooting turbo write and it needed more ionotify apparently.

 

Not a massive deal since now that I know I can manually change it but figured I would report it.

Link to comment
5 hours ago, TexasUnraid said:

I noticed that Max Watches 'fs.inotify.max_user_watches': does not seem to apply on boot.

 

If I manually change it and update it the setting gets applied but after rebooting it will revert back to the default value?

 

Been trying to track file usage using the file activity plugin while troubleshooting turbo write and it needed more ionotify apparently.

 

Not a massive deal since now that I know I can manually change it but figured I would report it.

Works for me.

Link to comment
  • 1 month later...

After an update of tips and tweaks and rebooting my machine several days later this bug (?) appeared again (this time my unraid server was not accessible through the local network, too):

 

My "eth0" is a QNAP 10G RJ45 PCIe card and it seems that it is not compatible with the buffer/flow control setting made by Tips and Tweaks.

 

I think the plugin should not pre-fill the "Ethernet NICS" field with "eth0".

 

 

How could I find/debug the ethernet settings made by Tips and Tweaks? Maybe I can find out which setting causes the "offline problem"?

 

Link to comment
1 hour ago, mgutt said:

After an update of tips and tweaks and rebooting my machine several days later this bug (?) appeared again (this time my unraid server was not accessible through the local network, too):

 

My "eth0" is a QNAP 10G RJ45 PCIe card and it seems that it is not compatible with the buffer/flow control setting made by Tips and Tweaks.

 

I think the plugin should not pre-fill the "Ethernet NICS" field with "eth0".

 

 

How could I find/debug the ethernet settings made by Tips and Tweaks? Maybe I can find out which setting causes the "offline problem"?

 

How do you connect a network issue after several days to this plugin?

Link to comment
3 hours ago, mgutt said:

I guess the update filled the field with "eth0" but does not apply the setting as long the server isn't restarted. And it must be this setting as I can reproduce it.

I've added a 'Default' selection in all NIC settings that will not apply the setting to the NIC.  This will keep the plugin from making any changes to the NICs for that selection.

Link to comment

Something is really strange with my NIC settings. I restarted my server and it has connection through one 10G and 1G port. Then I try to apply the following default settings by adding "eth0" to "Ethernet NICS":

933487074_2020-09-1712_45_42.thumb.png.310927c090e7a8480c7a571a9032edf7.png

 

After that I'm not able to reach the server anymore. Not through the 10G (eth0) and not through the 1G (eth1) port (both have different static IPs). I mean if my 10G card does not support this setting, why isn't the server reachable anymore through the 1G port (eth1)?!

 

So I tried it through the server itself. Login with root and entered the following:

1941278689_2020-09-1712_52_05.png.1913cfc5810ee84927a29ac99d9e4550.png

 

Then re-applied the network settings:

1233900832_2020-09-1712_53_07.png.de08ef1315e033677e1297acc22df2ad.png

 

Now I'm able to open the WebGUI through both ports again. I opened the Tips and Tweaks NIC settings and it shows the following:

1903250030_2020-09-1712_54_33.thumb.png.21ad0e538e74d4701bb3d03c56973667.png

 

Now I reboot unraid through the GUI. The terminal says "eth0 does not exist":

239099702_2020-09-1713_02_14.png.25b3f4a0f40b48cd90d506b75597a0e3.png

 

Checking the GUI. 10G offline, 1G online.

 

Rebooted again (without making any changes). No errors shown in the terminal. 10G and 1G are both online. So I re-checked the TipsAndTweaks page and now the status is different?!

1361069698_2020-09-1713_08_30.thumb.png.6c77159545f50ed800c41627f7334b91.png

 

I opened the status page and something reversed my eth-order (usually eth0 was the 10g card):

802397298_2020-09-1713_11_04.png.94e7f049e032aefe006746a73a6d8054.png

 

network.cfg looks as usual:

root@Thoth:~# cat /boot/config/network.cfg
# Generated settings:
IFNAME[0]="eth0"
PROTOCOL[0]="ipv4"
USE_DHCP[0]="no"
IPADDR[0]="192.168.178.9"
NETMASK[0]="255.255.255.0"
GATEWAY[0]="192.168.178.1"
DNS_SERVER1="8.8.8.8"
DNS_SERVER2="8.8.4.4"
USE_DHCP6[0]="yes"
DHCP6_KEEPRESOLV="yes"
IFNAME[1]="eth1"
PROTOCOL[1]="ipv4"
USE_DHCP[1]="no"
IPADDR[1]="192.168.178.10"
NETMASK[1]="255.255.255.0"
GATEWAY[1]="192.168.178.1"
SYSNICS="2"

So I checked network-rules.cfg:

root@Thoth:~# cat /boot/config/network-rules.cfg
# PCI device 0x1d6a:0x07b1 (atlantic)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:5e:be:44:2d:d4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0d", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

And now network-rules.cfg (backup from this morning) before the reboots:

# PCI device 0x1d6a:0x07b1 (atlantic)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:5e:be:44:2d:d4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0d", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# PCI device 0x8086:0x15e4 (ixgbe)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3c:ec:ef:01:a3:0f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"

It seems Unraid has changed something after it was not able to find "eth0" on my last boot and now tipsandtweaks shows the status of my 1G port. Ok, then reboot again. Maybe flow control will be enabled for the 1G port... nope still the same.

 

And there is another thing different now. The CPU goverener is not set to "Performance" anymore:

194750512_2020-09-1713_20_41.thumb.png.3ebf7105010f8b3a2a7a29d2bdf2534f.png

 

Shouldn't all these values be re-applied on reboot?

 

EDIT: After several reboots and re-applying the 10G as eth0:

105043300_2020-09-1723_03_49.png.91fe278e51af12b9e1b2562650231890.png

 

I never set those values. This is really strange.

Edited by mgutt
Link to comment
On 9/17/2020 at 7:21 AM, mgutt said:

After that I'm not able to reach the server anymore. Not through the 10G (eth0) and not through the 1G (eth1) port (both have different static IPs). I mean if my 10G card does not support this setting, why isn't the server reachable anymore through the 1G port (eth1)?!

You should set the NIC settings to 'Default' so none of the settings are applied.  Leave the default settings.  Tips and Tweaks was designed to work with Intel NICs and other brands might not respond to the NIC parameter settings.

On 9/17/2020 at 7:21 AM, mgutt said:

I opened the status page and something reversed my eth-order (usually eth0 was the 10g card):

That would be something with Linux.  Tips and Twaeks has nothing to do with the naming of NICs.

On 9/17/2020 at 7:21 AM, mgutt said:

And there is another thing different now. The CPU goverener is not set to "Performance" anymore:

The driver is showing as ACPI.  Performance does not work with the ACPI driver.  What processor do you have?

Looks like a timing issue.  When you apply the settings will it change?

Edited by dlandon
Link to comment
  • 2 weeks later...
4 hours ago, thor2002ro said:

this plugin is missing suport for schedutil governor..... its useful for newer kernels....

Added in the latest release.

 

Note: Schedutil is not available in the Intel Pstate driver yet.  It appears that it may be in the future.

Edited by dlandon
typo
Link to comment
  • 3 months later...
  • 3 weeks later...

It would be cool if a button could be added to the top menu, possibly with the small buttons of the right side to allow quick changing of the CPU governor.

 

With my new Ryzen setup using anything but power saving has the CPU sitting at ~1.4v and double to triple the energy usage almost all the time. While technically "safe" I just see no reason to waste the energy and the fans constantly ramping up and down is annoying. Plus unless I am actively doing something, there is no difference in power saving mode where it sits at 0.8v and never gets warm.

 

A button to quickly change the governor would be really cool so when I want to encode a video for example, I can bump it to performance mode.

 

To add to this, it would be nice if we could set schedules for more then just performance/on demand.

 

Alternatively I would like to setup schedules with power saving and Schedutil as these seem to work the best with my setup. I notice significantly higher clock speeds with Schedutil and lower idle clocks vs on demand.

 

If none of this is possible, what is the command for these that I could manually script?

Link to comment
  • 4 weeks later...

It says my processor is running at 100% but here's this:

 

Every 2.0s: grep "cpu MHz" /proc/cpuinfo                                                BlackTower: Mon Feb 22 17:21:08 2021

cpu MHz         : 1388.474
cpu MHz         : 2521.566
cpu MHz         : 1334.264
cpu MHz         : 1557.281
cpu MHz         : 1244.734
cpu MHz         : 1860.450
cpu MHz         : 1275.546
cpu MHz         : 1300.905

 

It's a X3440 at 2.53ghz (I upgraded) so am I missing something or is does it look correct?

 

Dell T310 Server.

 

Cores and Threads don't look busy on Dashboard...will check SpeedStep.

 

There is no driver loaded that I could find.

 

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.