@mock.patch.object(six, 'BytesIO', return_value=six.BytesIO(b'100\n'))
     @mock.patch.object(utils, 'read_meminfo',
                        return_value={'Hugepagesize': '2048'})
-    def test__setup_hugepages(self, mock_meminfo, *args):
+    def test__setup_hugepages_no_hugepages_defined(self, mock_meminfo, *args):
         ssh_helper = mock.Mock()
+        scenario_helper = mock.Mock()
+        scenario_helper.all_options = {}
         dpdk_setup_helper = DpdkVnfSetupEnvHelper(
-            mock.ANY, ssh_helper, mock.ANY)
+            mock.ANY, ssh_helper, scenario_helper)
         with mock.patch.object(sample_vnf.LOG, 'info') as mock_info:
             dpdk_setup_helper._setup_hugepages()
             mock_info.assert_called_once_with(
                 '%s', 2048, 8192, 100)
         mock_meminfo.assert_called_once_with(ssh_helper)
 
+    @mock.patch.object(six, 'BytesIO', return_value=six.BytesIO(b'100\n'))
+    @mock.patch.object(utils, 'read_meminfo',
+                       return_value={'Hugepagesize': '1048576'})
+    def test__setup_hugepages_8gb_hugepages_defined(self, mock_meminfo, *args):
+        ssh_helper = mock.Mock()
+        scenario_helper = mock.Mock()
+        scenario_helper.all_options = {'hugepages_gb': 8}
+        dpdk_setup_helper = DpdkVnfSetupEnvHelper(
+            mock.ANY, ssh_helper, scenario_helper)
+        with mock.patch.object(sample_vnf.LOG, 'info') as mock_info:
+            dpdk_setup_helper._setup_hugepages()
+            mock_info.assert_called_once_with(
+                'Hugepages size (kB): %s, number claimed: %s, number set: '
+                '%s', 1048576, 8, 100)
+        mock_meminfo.assert_called_once_with(ssh_helper)
+
     @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.open')
     @mock.patch.object(utils, 'find_relative_file')
     @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.MultiPortConfig')
 
     APP_NAME = 'DpdkVnf'
     FIND_NET_CMD = "find /sys/class/net -lname '*{}*' -printf '%f'"
     NR_HUGEPAGES_PATH = '/proc/sys/vm/nr_hugepages'
-    HUGEPAGES_KB = 1024 * 1024 * 16
 
     @staticmethod
     def _update_packet_type(ip_pipeline_cfg, traffic_options):
     def _setup_hugepages(self):
         meminfo = utils.read_meminfo(self.ssh_helper)
         hp_size_kb = int(meminfo['Hugepagesize'])
-        nr_hugepages = int(abs(self.HUGEPAGES_KB / hp_size_kb))
+        hugepages_gb = self.scenario_helper.all_options.get('hugepages_gb', 16)
+        nr_hugepages = int(abs(hugepages_gb * 1024 * 1024 / hp_size_kb))
         self.ssh_helper.execute('echo %s | sudo tee %s' %
                                 (nr_hugepages, self.NR_HUGEPAGES_PATH))
         hp = six.BytesIO()