Forum Discussion

Satoshino's avatar
Satoshino
Icon for Cirrus rankCirrus
Sep 11, 2023

explanation about tmm usage

Hi Folks!

i need a clarification about tmm usage on BIG-IP appliances.
i have a guest hosted by a VIPRION (C2400), with 4 assigned cores and an high CPU utilization.
During my investigation i found out that connections use only 2 tmm processes: (slot/tmm: 1/1) and (slot/tmm: 1/0), so only tmm processes assigned to core 0.
Those tmm process have the same amount of connection but i don't understand why it doesn't use tmm processes assigned to core number 2, shouldn't it use them equally?

I undestood that core 0 and 2 are assigned for data plane, and that every core has two tmm processes, the first is the main process while the second is used only during spikes of traffic, am i right?

 

here some commands output:

---------------------------
Sys::TMM: 1.0
---------------------------
Global
TMM Process Id 10670
Running TMM Id 0
TMM Count 1
CPU Id 0

Memory (bytes)
Total 9.2G
Used 569.9M

CPU Usage Ratio (%)
Last 5 Seconds 28
Last 1 Minute 28
Last 5 Minutes 28

--------------------------
Sys::TMM: 1.2
--------------------------
Global
TMM Process Id 10670
Running TMM Id 2
TMM Count 1
CPU Id 2

Memory (bytes)
Total 0
Used 0

CPU Usage Ratio (%)
Last 5 Seconds 59
Last 1 Minute 59
Last 5 Minutes 59

-------------------------------------------------
Sys::TMM: 1.0
-------------------------------------------------
TMM Traffic ClientSide ServerSide
Bits In 4.5P 4.4P
Bits Out 139.5T 120.3T
Packets In 482.5G 411.1G
Packets Out 259.2G 295.3G
Current Connections 19.8K 21.6K
Maximum Connections 129.2K 131.0K
Evicted Connections 0 0
Slow Connections Killed 0 0
Total Connections 17.6G 17.6G
Total Requests 353.4M -

Errors
Maintenance Mode 0
Virtual Addr Limit 0
Virtual Server Limit 0
Wrong Address 0
No handler 2.7M
No Staged Handler 0
No license 0
Connection Memory 0
Packets Dropped 4
Packets In Errors 0
Packets Out Errors 0
Connections Redirected 0

-------------------------------------------------
Sys::TMM: 1.2
-------------------------------------------------
TMM Traffic ClientSide ServerSide
Bits In 3.4P 3.2P
Bits Out 342.6T 109.9T
Packets In 487.9G 337.4G
Packets Out 354.5G 214.0G
Current Connections 19.7K 20.9K
Maximum Connections 129.4K 130.6K
Evicted Connections 0 0
Slow Connections Killed 0 0
Total Connections 27.3G 27.3G
Total Requests 325.0M -

Errors
Maintenance Mode 0
Virtual Addr Limit 0
Virtual Server Limit 0
Wrong Address 0
No handler 7.0M
No Staged Handler 0
No license 0
Connection Memory 0
Packets Dropped 0
Packets In Errors 0
Packets Out Errors 0
Connections Redirected 0

thank you

  • Hi Satoshino , 
    first you need to read about Hyper threading feature in F5 : 
    https://my.f5.com/manage/s/article/K23505424
    https://my.f5.com/manage/s/article/K15003 

    then >> your guest runs over 2 cores devided into 4 hyper-threads based on vCPU that you have assigned  while configuring this guest. 
    I see slot 1 >> ( tmm1.0 & tmm1.2 ) you can imagine it as ( tmm0.0 & tmm0.2) based on the slots. 

    > For traffic I see traffic is balanced over the two tmm instances without issues.

    your question : I undestood that core 0 and 2 are assigned for data plane, and that every core has two tmm processes, the first is the main process while the second is used only during spikes of traffic, am i right? 

    > Not exactly right , you need to consider hyper-thread design , and know how it works then you can understand this mechanism.