@@ -508,12 +508,9 @@ def motr_tune_memory_config(self):
508508 create_dirs (self , [f"{ MOTR_LOCAL_SYSCONFIG_DIR } " ])
509509
510510 MOTR_M0D_CONF_FILE_PATH = f"{ MOTR_LOCAL_SYSCONFIG_DIR } /{ machine_id } /motr"
511- # Copy motr to motr-io
512- cmd = f"cp { MOTR_M0D_CONF_FILE_PATH } { MOTR_M0D_CONF_FILE_PATH } -io"
513- execute_command (self , cmd )
514511
515512 if not os .path .exists (MOTR_M0D_CONF_FILE_PATH ):
516- self .logger .info (f"FILE not founf { MOTR_M0D_CONF_FILE_PATH } \n " )
513+ self .logger .debug (f"FILE not found { MOTR_M0D_CONF_FILE_PATH } \n " )
517514 return
518515
519516 # collect the memory and cpu limits.
@@ -525,33 +522,40 @@ def motr_tune_memory_config(self):
525522 cpu_min = arr_elem ['cpu' ]['min' ]
526523 cpu_max = arr_elem ['cpu' ]['max' ]
527524
528- self .logger .info (f"Avaiable memory { mem_min } { mem_max } \n " )
529- self .logger .info (f"Avaiable CPU { cpu_min } { cpu_max } \n " )
525+ self .logger .debug (f"memory for io { mem_min } { mem_max } \n " )
526+ self .logger .debug (f"Avaiable memory { mem_min } { mem_max } \n " )
527+ self .logger .debug (f"Avaiable CPU { cpu_min } { cpu_max } \n " )
530528 M1 = int (calc_resource_sz (self , mem_min ) / (1024 * 1024 ))
531529 M2 = int (calc_resource_sz (self , mem_max ) / (1024 * 1024 ))
532530
533531 if M1 == 0 or M2 == 0 :
534- self .logger .info (f"memory for io mem req:{ M1 } mem limit: { M2 } \n " )
532+ self .logger .debug (f"memory for io mem req:{ M1 } mem limit: { M2 } \n " )
535533 return
536534
537- if M2 > 4096 :
535+ # update motr config using formula
536+ factor_1 = math .floor (M2 / 512 )
537+ self .logger .info (f"memory for io { M1 } { M2 } { factor_1 } \n " )
538+
539+ if M2 < 4096 :
540+ MIN_RPC_RECVQ_LEN = 2 ** factor_1
541+ else :
538542 MIN_RPC_RECVQ_LEN = 512
539- self .logger .info (f"setting MOTR_M0D_MIN_RPC_RECVQ_LEN to { MIN_RPC_RECVQ_LEN } \n " )
540- cmd = f'sed -i "/MOTR_M0D_MIN_RPC_RECVQ_LEN= /s/.*/MOTR_M0D_MIN_RPC_RECVQ_LEN={ MIN_RPC_RECVQ_LEN } /" { MOTR_M0D_CONF_FILE_PATH } '
541- execute_command (self , cmd )
543+ self .logger .debug (f"setting MOTR_M0D_MIN_RPC_RECVQ_LEN to { MIN_RPC_RECVQ_LEN } \n " )
544+ cmd = f'sed -i "/MOTR_M0D_MIN_RPC_RECVQ_LEN/s/.*/MOTR_M0D_MIN_RPC_RECVQ_LEN={ MIN_RPC_RECVQ_LEN } /" { MOTR_M0D_CONF_FILE_PATH } '
545+ execute_command (self , cmd )
542546
543- IOS_BUFFER_POOL_SIZE = MIN_RPC_RECVQ_LEN * 2
544- self .logger .info (f"setting MOTR_M0D_IOS_BUFFER_POOL_SIZE to { IOS_BUFFER_POOL_SIZE } \n " )
545- cmd = f'sed -i "/MOTR_M0D_IOS_BUFFER_POOL_SIZE= /s/.*/MOTR_M0D_IOS_BUFFER_POOL_SIZE={ IOS_BUFFER_POOL_SIZE } /" { MOTR_M0D_CONF_FILE_PATH } '
546- execute_command (self , cmd )
547+ IOS_BUFFER_POOL_SIZE = 16 * ( 2 ** ( factor_1 - 1 ))
548+ self .logger .debug (f"setting MOTR_M0D_IOS_BUFFER_POOL_SIZE to { IOS_BUFFER_POOL_SIZE } \n " )
549+ cmd = f'sed -i "/MOTR_M0D_IOS_BUFFER_POOL_SIZE/s/.*/MOTR_M0D_IOS_BUFFER_POOL_SIZE={ IOS_BUFFER_POOL_SIZE } /" { MOTR_M0D_CONF_FILE_PATH } '
550+ execute_command (self , cmd )
547551
548552 if M2 <= 1024 :
549553 SNS_BUFFER_POOL_SIZE = 32
550554 else :
551555 SNS_BUFFER_POOL_SIZE = 64
552556
553- self .logger .info (f"setting MOTR_M0D_SNS_BUFFER_POOL_SIZE to { SNS_BUFFER_POOL_SIZE } \n " )
554- cmd = f'sed -i "/MOTR_M0D_SNS_BUFFER_POOL_SIZE= /s/.*/MOTR_M0D_SNS_BUFFER_POOL_SIZE={ SNS_BUFFER_POOL_SIZE } /" { MOTR_M0D_CONF_FILE_PATH } '
557+ self .logger .debug (f"setting MOTR_M0D_SNS_BUFFER_POOL_SIZE to { SNS_BUFFER_POOL_SIZE } \n " )
558+ cmd = f'sed -i "/MOTR_M0D_SNS_BUFFER_POOL_SIZE/s/.*/MOTR_M0D_SNS_BUFFER_POOL_SIZE={ SNS_BUFFER_POOL_SIZE } /" { MOTR_M0D_CONF_FILE_PATH } '
555559 execute_command (self , cmd )
556560
557561# Get lists of metadata disks from Confstore of all cvgs
0 commit comments