diff --git a/base/sys_info.h b/base/sys_info.h
index aa40cad..7ce4e65 100644
--- a/base/sys_info.h
+++ b/base/sys_info.h
@@ -28,11 +28,22 @@
   // machine.
   static int64 AmountOfAvailablePhysicalMemory();
 
+  // Return the number of bytes of virtual memory of this process. A return
+  // value of zero means that there is no limit on the available virtual
+  // memory.
+  static int64 AmountOfVirtualMemory();
+
   // Return the number of megabytes of physical memory on the current machine.
   static int AmountOfPhysicalMemoryMB() {
     return static_cast<int>(AmountOfPhysicalMemory() / 1024 / 1024);
   }
 
+  // Return the number of megabytes of available virtual memory, or zero if it
+  // is unlimited.
+  static int AmountOfVirtualMemoryMB() {
+    return static_cast<int>(AmountOfVirtualMemory() / 1024 / 1024);
+  }
+
   // Return the available disk space in bytes on the volume containing |path|,
   // or -1 on failure.
   static int64 AmountOfFreeDiskSpace(const FilePath& path);
diff --git a/base/sys_info_posix.cc b/base/sys_info_posix.cc
index 07d08b7..90baa69 100644
--- a/base/sys_info_posix.cc
+++ b/base/sys_info_posix.cc
@@ -7,6 +7,7 @@
 #include <errno.h>
 #include <string.h>
 #include <sys/param.h>
+#include <sys/resource.h>
 #include <sys/utsname.h>
 #include <unistd.h>
 
@@ -45,6 +46,20 @@
     g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER;
 #endif
 
+int64 AmountOfVirtualMemory() {
+  struct rlimit limit;
+  int result = getrlimit(RLIMIT_DATA, &limit);
+  if (result != 0) {
+    NOTREACHED();
+    return 0;
+  }
+  return limit.rlim_cur == RLIM_INFINITY ? 0 : limit.rlim_cur;
+}
+
+base::LazyInstance<
+    base::internal::LazySysInfoValue<int64, AmountOfVirtualMemory> >::Leaky
+    g_lazy_virtual_memory = LAZY_INSTANCE_INITIALIZER;
+
 }  // namespace
 
 namespace base {
@@ -56,6 +71,11 @@
 #endif
 
 // static
+int64 SysInfo::AmountOfVirtualMemory() {
+  return g_lazy_virtual_memory.Get().value();
+}
+
+// static
 int64 SysInfo::AmountOfFreeDiskSpace(const FilePath& path) {
   base::ThreadRestrictions::AssertIOAllowed();
 
diff --git a/base/sys_info_unittest.cc b/base/sys_info_unittest.cc
index 93eff77..e771b2b 100644
--- a/base/sys_info_unittest.cc
+++ b/base/sys_info_unittest.cc
@@ -29,6 +29,8 @@
   // We aren't actually testing that it's correct, just that it's sane.
   EXPECT_GT(base::SysInfo::AmountOfPhysicalMemory(), 0);
   EXPECT_GT(base::SysInfo::AmountOfPhysicalMemoryMB(), 0);
+  // The maxmimal amount of virtual memory can be zero which means unlimited.
+  EXPECT_GE(base::SysInfo::AmountOfVirtualMemory(), 0);
 }
 
 TEST_F(SysInfoTest, AmountOfFreeDiskSpace) {
