当前位置: 首页>>代码示例>>Java>>正文


Java DirectMemoryUtils类代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.util.DirectMemoryUtils的典型用法代码示例。如果您正苦于以下问题:Java DirectMemoryUtils类的具体用法?Java DirectMemoryUtils怎么用?Java DirectMemoryUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DirectMemoryUtils类属于org.apache.hadoop.hbase.util包,在下文中一共展示了DirectMemoryUtils类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: instantiateBlockCache

import org.apache.hadoop.hbase.util.DirectMemoryUtils; //导入依赖的package包/类
/**
 * Returns the block cache or <code>null</code> in case none should be used.
 * @param conf The current configuration.
 * @return The block cache or <code>null</code>.
 */
private static synchronized BlockCache instantiateBlockCache(Configuration conf) {
  if (globalBlockCache != null) return globalBlockCache;
  if (blockCacheDisabled) return null;

  float cachePercentage =
      conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
        HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
  if (cachePercentage == 0L) {
    blockCacheDisabled = true;
    return null;
  }
  if (cachePercentage > 1.0) {
    throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY
        + " must be between 0.0 and 1.0, and not > 1.0");
  }

  // Calculate the amount of heap to give the heap.
  MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
  long cacheSize = (long) (mu.getMax() * cachePercentage);
  int blockSize = conf.getInt("hbase.offheapcache.minblocksize", HFile.DEFAULT_BLOCKSIZE);
  long offHeapCacheSize =
      (long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0) * DirectMemoryUtils
          .getDirectMemorySize());
  LOG.info("Allocating LruBlockCache with maximum size "
      + StringUtils.humanReadableInt(cacheSize));
  if (offHeapCacheSize <= 0) {
    globalBlockCache = new LruBlockCache(cacheSize, StoreFile.DEFAULT_BLOCKSIZE_SMALL, conf);
  } else {
    globalBlockCache =
        new DoubleBlockCache(cacheSize, offHeapCacheSize, StoreFile.DEFAULT_BLOCKSIZE_SMALL,
            blockSize, conf);
  }
  return globalBlockCache;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:40,代码来源:CacheConfig.java

示例2: shutdown

import org.apache.hadoop.hbase.util.DirectMemoryUtils; //导入依赖的package包/类
void shutdown() {
  for (ByteBuffer aSlab : slabs) {
    try {
      DirectMemoryUtils.destroyDirectByteBuffer(aSlab);
    } catch (Exception e) {
      LOG.warn("Unable to deallocate direct memory during shutdown", e);
    }
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:10,代码来源:Slab.java

示例3: instantiateBlockCache

import org.apache.hadoop.hbase.util.DirectMemoryUtils; //导入依赖的package包/类
/**
 * Returns the block cache or <code>null</code> in case none should be used.
 *
 * @param conf  The current configuration.
 * @return The block cache or <code>null</code>.
 */
private static synchronized BlockCache instantiateBlockCache(
    Configuration conf) {
  if (globalBlockCache != null) return globalBlockCache;
  if (blockCacheDisabled) return null;

  float cachePercentage = conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
    HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
  if (cachePercentage == 0L) {
    blockCacheDisabled = true;
    return null;
  }
  if (cachePercentage > 1.0) {
    throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY +
      " must be between 0.0 and 1.0, and not > 1.0");
  }

  // Calculate the amount of heap to give the heap.
  MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
  long cacheSize = (long)(mu.getMax() * cachePercentage);
  int blockSize = conf.getInt("hbase.offheapcache.minblocksize",
      HFile.DEFAULT_BLOCKSIZE);
  long offHeapCacheSize =
    (long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0) *
        DirectMemoryUtils.getDirectMemorySize());
  LOG.info("Allocating LruBlockCache with maximum size " +
    StringUtils.humanReadableInt(cacheSize));
  if (offHeapCacheSize <= 0) {
    globalBlockCache = new LruBlockCache(cacheSize,
        StoreFile.DEFAULT_BLOCKSIZE_SMALL, conf);
  } else {
    globalBlockCache = new DoubleBlockCache(cacheSize, offHeapCacheSize,
        StoreFile.DEFAULT_BLOCKSIZE_SMALL, blockSize, conf);
  }
  return globalBlockCache;
}
 
开发者ID:wanhao,项目名称:IRIndex,代码行数:42,代码来源:CacheConfig.java

示例4: instantiateBlockCache

import org.apache.hadoop.hbase.util.DirectMemoryUtils; //导入依赖的package包/类
/**
 * Returns the block cache or <code>null</code> in case none should be used.
 *
 * @param conf  The current configuration.
 * @return The block cache or <code>null</code>.
 */
private static synchronized BlockCache instantiateBlockCache(
    Configuration conf) {
  if (globalBlockCache != null) return globalBlockCache;
  if (blockCacheDisabled) return null;

  float cachePercentage = conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
    HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
  if (cachePercentage == 0L) {
    blockCacheDisabled = true;
    return null;
  }
  if (cachePercentage > 1.0) {
    throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY +
      " must be between 0.0 and 1.0, and not > 1.0");
  }

  // Calculate the amount of heap to give the heap.
  MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
  long cacheSize = (long)(mu.getMax() * cachePercentage);
  int blockSize = conf.getInt("hbase.offheapcache.minblocksize",
      HFile.DEFAULT_BLOCKSIZE);
  long offHeapCacheSize =
    (long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0) *
        DirectMemoryUtils.getDirectMemorySize());
  LOG.info("Allocating LruBlockCache with maximum size " +
    StringUtils.humanReadableInt(cacheSize));
  if (offHeapCacheSize <= 0) {
    globalBlockCache = new LruBlockCache(cacheSize,
        StoreFile.DEFAULT_BLOCKSIZE_SMALL);
  } else {
    globalBlockCache = new DoubleBlockCache(cacheSize, offHeapCacheSize,
        StoreFile.DEFAULT_BLOCKSIZE_SMALL, blockSize, conf);
  }
  return globalBlockCache;
}
 
开发者ID:lifeng5042,项目名称:RStore,代码行数:42,代码来源:CacheConfig.java


注:本文中的org.apache.hadoop.hbase.util.DirectMemoryUtils类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。