ESXi - N40L - Slow Network Speeds


Recommended Posts

Hi Guys,

I am running 2 VMS, WHS2011 and WinXP, both have vmxnet3 drivers installed. The XP network says its running at 1.4GB/s and the WHS network is running at 10GB/s.

When I transfer files from one VM to the other i am getting speeds of 2MB/s. Why is this so slow??

I have run iperf and get speeds of 102 Mbits/sec

whilst the file transfer is in progress CPU usage is around 10% on both VM machines, but when I run iperf, CPU usage maxs out at 100% on the XP VM and about 55-65% on the WHS2011 VM.

Is the CPU being at 100% throttling the network?

I am running one physical network card,

Can anyone shed some light on this? I am a newbie to VMs but not to computers :)

thanks!

Link to comment
https://www.neowin.net/forum/topic/1128838-esxi-n40l-slow-network-speeds/
Share on other sites

Those speeds (That are reported in Windows) are for the Virtual Adapters. Although its true that transferring speeds between VM's on the same does write directly between Memory and not hit the wire so to speak. The speed will only be 1Gbps on the Physical Adapter by the way. Have you applied all the latest patches to ESXi, I would highly recommend it. My CPU usage is always really low, Infact I am surprised at how efficient it is. I just need some more memory in my baby!

http://www.vmware.com/patchmgr/findPatch.portal

SK[' timestamp=1357165637' post='595429082]

If your using the vmxnet3 driver shouldn't it be showing 10GB?

*Edit*

Just checked my XP VM out and indeed it shows 1.4GB. Never noticed that before.

102Mbit is about right for a 1GB NIC no?

It might be for XP that it shows 1.4Gbps, Don't have one to test it. I have only seen it at 10GBps. Budman could chime in though and tell us if this is the case.

Yes your right just over 100MB for 1Gbps.

So I don't have an XP vm currently - but I could fire one up for sure.

But between my nas vm and win7 vm I show this, btw 102mbps is SLOW if you showing connected at gig speeds.

C:\Windows\System32>iperf -c storage -w 256k
------------------------------------------------------------
Client connecting to storage, TCP port 5001
TCP window size:  256 KByte
------------------------------------------------------------
[276] local 192.168.1.210 port 49233 connected with 192.168.1.8 port 5001
[ ID] Interval	   Transfer	 Bandwidth
[276]  0.0-10.0 sec   599 MBytes   502 Mbits/sec

I should see if I can get that up a bit - my physical machines see much higher. 800Mbps should be seen on a gig network fairly easy.

So file copy from my nas vm to my win7 vm

post-14624-0-27431800-1357221554.png

So I am seeing 50MBytes per second in this test.

But curious to what disks your writing/reading from - are you just trying to copy a file from datastore drive of vm to another datastore drive on the other vm. My nas has raw access to the 3 drives it uses for storage. So the above tests were from one of those disks to the datastore drive of the win7 vm

Also curious --- you gave 4GB to each of your VMs, do you have more than 8 in your N40L?

So I did a test that I think more reflects what your doing more likely. And that is from datastore drive to datastore drive of each VM. And in that test I got only 23MBps

post-14624-0-56310600-1357222192.png

What else is your datastore disk doing at the time?? That performance is not going to be the best, your 2 different VMs are accessing the same physical disk. So yeah there is going to be some contention for time.

thanks, i have 10GB of memory in my N40L, an 8Gb and a 2Gb stick.

I have a drivepool in WHS, consisting of 2TB and 1.5TB WD Green drives

I am transferring files from the pool to the XP machine which has a second 2TB drive attached.

The VMs themselves were stored on the 250Gb drive, but I have moved them to another 2TB drive for now.

The ESXi is installed on a 8GB USB pen drive.

Thanks

a bit of progress maybe?

under the WHS2011 VM

If i "pull" a file from the xp machine to the WHS drivepool i get speeds of 13.5MB/s

if i "push" a file from the WHS drivepool to the xp machine i get speeds of 2MB/s

could that be a write issue with the XP HDD ? (E: 2TB)

thats still pretty crappy for a gig network. If I do a iperf or file copy to a physical machine from the vm I get this

C:\test>robocopy \\storage\media\cleanup c:\test test.mp4

-------------------------------------------------------------------------------
   ROBOCOPY	 ::	 Robust File Copy for Windows
-------------------------------------------------------------------------------

  Started : Thu Jan 03 10:31:22 2013

   Source = \\storage\media\cleanup\
	 Dest : c:\test\

	Files : test.mp4

  Options : /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

						   1	\\storage\media\cleanup\
100%		New File			 650.8 m		test.mp4

------------------------------------------------------------------------------

			   Total	Copied   Skipped  Mismatch	FAILED	Extras
	Dirs :		 1		 0		 1		 0		 0		 0
   Files :		 1		 1		 0		 0		 0		 0
   Bytes :  650.86 m  650.86 m		 0		 0		 0		 0
   Times :   0:00:09   0:00:09					   0:00:00   0:00:00


   Speed :			74150984 Bytes/sec.
   Speed :			4242.953 MegaBytes/min.

   Ended : Thu Jan 03 10:31:31 2013

C:\test>iperf -c storage -w 256k
------------------------------------------------------------
Client connecting to storage, TCP port 5001
TCP window size:  256 KByte
------------------------------------------------------------
[336] local 192.168.1.100 port 16077 connected with 192.168.1.8 port 5001
[ ID] Interval	   Transfer	 Bandwidth
[336]  0.0-10.0 sec  1012 MBytes   849 Mbits/sec

Notice the 800+ Mbits per second over gig.. And in the 70MBps for file pull from my VM.

Do an iperf test from your physical to your VM, using a higher window size, say -w 256k You can see example of this test in my above output. On the server set it up with iperf -s -w 256k

Do you have 2 physical boxes we can play with - 295Mbps is that your iperf test.. That is pretty crappy for a gig network. Did you use the larger window size for your test?

at 8.59 mbps -- is that over wireless or something? Are you reading writing from a USB disk or something.. That is just horrific performance.

Damn you beat me too it! I was going to say that. How are they formatted?

I added the drives under the vclient and formatted them via windows - is that right? am a novice with ESXi

Do you have 2 physical boxes we can play with - 295Mbps is that your iperf test.. That is pretty crappy for a gig network. Did you use the larger window size for your test?

at 8.59 mbps -- is that over wireless or something? Are you reading writing from a USB disk or something.. That is just horrific performance.

yes, those figures are are with iperf on a wired Gb network

I've just performed another iperf test

physcial XP machine set as server (1Gb network) - wired

physical win7 laptop set as client (100Mb network) - wired

and i get 87Mbits/sec

the laptop has only got a 100Mb network card, so thats the max on this network - this is for this test only.

Well 87mbps on 100mbit connection is about right.. Best you could see on 100mbit is around mid 90's -- think best I have ever seen is 97 something. Never ever going to see actual speed of the connection.

But on gig you should be seeing closer to 800s vs your under 300 number.

So question for you on your VM whs - did you give whs raw access to the disks, or did you create vmfs on the disks that the OS has access to.

So for example on my storage box

post-14624-0-36278900-1357239638.jpg

Notice that the 3 disks I have given it to use in a drive pool the disks are raw mapped, and then above that you see the virtual disk (on the datastore drive) that is the vmfs for the OS installed too.

Here is a guide on how to do that

http://vm-help.com/esx40i/SATA_RDMs.php

So for example here is my maps

/vmfs/volumes/4f677e4a-81443006-5233-2c768aadf656/RDMs # ls -la

drwxr-xr-x 1 root root 1120 Dec 26 13:12 .

drwxr-xr-t 1 root root 5180 Dec 29 14:59 ..

-rw------- 1 root root 2000398934016 Apr 7 2012 rdm1-rdmp.vmdk

-rw------- 1 root root 521 Dec 26 13:12 rdm1.vmdk

-rw------- 1 root root 750156374016 Apr 16 2012 rdm2-rdmp.vmdk

-rw------- 1 root root 520 Dec 26 13:12 rdm2.vmdk

-rw------- 1 root root 750156374016 Apr 14 2012 rdm3-rdmp.vmdk

-rw------- 1 root root 520 Dec 26 13:12 rdm3.vmdk

/vmfs/volumes/4f677e4a-81443006-5233-2c768aadf656/RDMs #

So couple of things to deal with on your slow performance - why your iperf between vms is so slow. And then make sure that your drive access is as fast as it can be. How are attaching the disks to your VMs could be a limiting factor - and have to look into the speed between vms from a network as well. I do recall seeing above 1Gbps before on iperf between machines

yeah just looked up a old thread about N40L performance - and in a test there I was seeing 1.5Gbps between vms - have to take a look why only seeing 500mbps now

https://www.neowin.net/forum/topic/1071115-esxi-hp-microserver-n40l-performance/page__view__findpost__p__594826393

post-14624-0-44916300-1335455395.jpg

So I got something not quite right as well - wonder what would of changed?? I know the client is different in this test. Have to look to getting my between vms speeds back to that over 1Gbps ;)

This is a copy from A Win7 VM to my physical Desktop over a 1GB switch. The discs are thin provisioned.


-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : 04 January 2013 09:16:13
Source : VM7COMPUTER
Dest : C:\Users\Andrew\Desktop\
Files : SOME.FILE
Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
1 VM7COMPUTER

100% New File 701.8 m SOME.FILE
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 0 0 0 0
Files : 1 1 0 0 0 0
Bytes : 701.88 m 701.88 m 0 0 0 0
Times : 0:00:06 0:00:06 0:00:00 0:00:00

Speed : 108010209 Bytes/sec.
Speed : 6180.393 MegaBytes/min.
Ended : 04 January 2013 09:16:20
[/CODE]

This is copying from a Win XP machine to my physical desktop over the same switch with the VM in the same datastore. Basically, there is nothing different from the above other than its a VM with XP rather than 7.

[CODE]
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : 04 January 2013 10:10:43
Source : VMXPCOMPUTER
Dest : C:\Users\Andrew\Desktop\
Files : SOME.FILE
Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
1 VMXPCOMPUTER
100% New File 851.2 m SOME.FILE
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 0 0 0 0
Files : 1 1 0 0 0 0
Bytes : 851.20 m 851.20 m 0 0 0 0
Times : 0:00:13 0:00:13 0:00:00 0:00:00

Speed : 65230532 Bytes/sec.
Speed : 3732.521 MegaBytes/min.
Ended : 04 January 2013 10:10:57
[/CODE]

XP seems to be much slower than its predecessor. I know they are slightly different file sizes but the speed speaks for itself.

TBH as I run with such a small amount of resources I would sooner use XP over 7 yet XP feels much slower than 7 does as a VM on my MicroServer. Windows 2008 R2 feels much snappier than XP does. I need to ditch my XP machine really as these tests above prove 7 is not performing how it should.

The host is a HP MicroServer (N36L so the mk1 version).

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • WhatsApp is getting usernames, and you can reserve your preferred one now by Fiza Ali Sharing your phone number isn't always something you want to do, especially with people you've just met. Whether it's someone from a class, a local community group, or a sports team chat, handing over your number can feel like giving away more personal information than necessary. That's exactly the problem WhatsApp is trying to solve with its upcoming usernames feature. The company has announced that users can now reserve a unique WhatsApp username ahead of the feature's wider rollout later this year. Once usernames become available, they'll let people connect without revealing their phone numbers. It's a change that makes a lot of sense for group chats. Right now, everyone in the group can see your phone number. With usernames enabled, that won't necessarily be the case when someone contacts you for the first time. WhatsApp says it's opening username reservations early because more than three billion people use the app, meaning plenty of people are likely to want the same usernames. Reserving one now gives users a better chance of securing the name they actually want before the feature launches more broadly. If your preferred username is already taken, WhatsApp will also offer a built-in username generator to suggest available alternatives. The feature isn't only aimed at individual users. Creators, businesses, and organisations will be able to claim the same username they already use on Instagram or Facebook, making it easier to keep a consistent identity across Meta's apps. Furthermore, privacy is a big part of how WhatsApp is introducing usernames. There won't be a public directory where people can browse or search for usernames. Instead, people will need to know your exact username before they can start a conversation with you. Additionally, users can also choose to enable a username key, which adds another layer of control by requiring people to enter that key before sending a message. Once the feature rolls out, people who choose to use a username will no longer have their phone number shown when messaging a person or business for the first time. If you want to reserve a username, make sure you're running the latest version of WhatsApp, then head to Settings > Account > Username. The tech giant says usernames will roll out gradually over the coming months, and users will receive an in-app notification when the feature becomes available in their country.
    • When I think about a network, there are really two aspects, the hardware and the wiring. So here is what I would do for both. Wiring: Use Cat6A for the patch panel, outlets, and all structured cables (cables installed in walls). Run plenty of Wireless Access Point (WAP) cables, as a general rule, assume a signal can only pass through 2-3 walls and can't pass through a floor (that is conservative, but trust me on this if you want strong WiFi)  Cat6 patch cables are fine for now if you don't plan to run 10gig, those are easy to replace later if needed. Run OS2 single-mode fiber to anywhere you think you may have a server or sub-switch. (yes, single-mode for everything on a small network, don't mess with multimode unless you have entire racks of servers and that minor module cost and power savings will matter). If you really want to future proof, also run fiber to any high density WAP locations, it is likely that WiFi 8 WAPs will push the limits of 10g. Run 6-12 pairs of single-mode fiber between your MDF and the building's MDF, even if you only need 1 or 2 pairs now, those extra pairs will pay off down the road. Hardware: (its easy to say "get all the features incase you need them", so instead of futureproofing, I am going to take approach of suggesting areas worth investing in, and areas you can save money). Don't overspend thinking you need every feature on every port. You don't need 10g on every port, you don't need PoE on every port. Don't overspend on redundancy either, unless you are ready to buy two of everything, don't waste money buying two of some things and not others. Dual power supplies are worthwhile, but probably not HA or multi-path redundancy.  Get 1 "distribution layer" switch that your router/firewall will connect to as well as all your access layer switches below. This should be a 10g switch with a combination of copper and SPF ports and should be a fully managed switch. Given that you said it is a small network, I suggest also using that distribution layer switch for servers and WAPs, meaning it will need PoE. Speaking of wireless, get good professional tri-band WAPs, and either turn on the band stirring options, or limit 2.4 to an IoT only SSID. This will provide a solid WiFi capable nearly everything but the highest of bandwidth clients...you could even consider skipping wiring workstations depending on usage. Access layer switch for workstations and printers can be cheaper switches, 2.5g is a good sweet spot between price and future proofing, but even 1g is fine for most individual clients (the kind that could probably be fine on WiFi). You can consider saving a little on access layer switches by only getting 1 PoE switch for whatever needs it (remember your WAPs are connecting to the distribution switch, not here), and non-PoE for your workstations, because desk phones are falling out of favor. You can also save money here by not buying managed switches if you don't need them--but really do some soul searching there, if you go this route, then anything that isn't on your workstation VLAN would either need to be connected to the distribution switch, or its own switch. Also, don't feel like you need a fancy fabric stacking switches for your access layer, that is the point of the higher-end distribution layer, to remove the need for things like that at this level. Home Hardware: I'm realizing the above assumed an office setting, if this if for your house and home lab then the above still applies, but you'll probably want everything managed and PoE, just because, but you probably also don't need multiple access layer switches. if your total port count is below 24, just skip separating distribution layer and access layer and just get one nice switch with the features you want. For home use, don't worry about home running every device to the main switch, there is nothing wrong with running sub-switches for your media areas and office, those essentially become your access layer, just look for sub-switches with a 10g uplink so sharing bandwidth isn't an issue.
    • Google Meet brings Gemini note-taking to AI Pro and Ultra subscribers by Karthik Mudaliar Google's Gemini-powered "Take notes for me" feature inside Google Meet is now available to Google AI Pro and Ultra subscribers. The features work on Google Meet for web as well as on mobile, and Google says that subscribers can use it for meetings they host in many supported languages. As the name suggests, "Take notes for me" allows Gemini to listen to a meeting, generate a summary, identify action items, and save the notes as a Google Doc in the user’s Drive. After the meeting, the organizer receives an email recap with the summary and action items, while the notes can also be attached to the related Calendar event depending on the meeting setup and sharing settings. The feature isn't automatically turned on for everyone, though. Google says that all meeting participants are notified when note-taking is turned on, and users can start it from the pencil icon in Meet or enable it for future calls through Meet’s meeting records settings. For work or school accounts, administrators can also control whether the feature is available and may require explicit participant consent for note-taking, recording, or transcription features. The feature first launched back in 2024, when it was available just for selected Workspace users. Over the years, Google added refinements and more options, including the ability to enable it when scheduling meetings via Google Calendar. Google's support docs say that the feature currently supports English, French, German, Italian, Japanese, Korean, Portuguese, and Spanish, but only one language at a time. Meetings with multiple spoken languages are not currently supported, and Google recommends using the tool for meetings between 15 minutes and eight hours. The new feature makes Google Meet closer to its rivals that have AI tools already built in. Microsoft Teams has recently started offering Copilot and intelligent recap features that summarize meetings, surface highlights, and help with follow-ups, while Zoom’s AI Companion can also generate meeting summaries from desktop and mobile meetings.
    • GnuCash 5.16 by Razvan Serea GnuCash is a personal and small business finance application, freely licensed under the GNU GPL and available for GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows. It’s designed to be easy to use, yet powerful and flexible. GnuCash allows you to track your income and expenses, reconcile bank accounts, monitor stock portfolios and manage your small business finances. It is based on professional accounting principles to ensure balanced books and accurate reports. GnuCash can keep track of your personal finances in as much detail as you prefer. If you are just starting out, use GnuCash to keep track of your checkbook. You may then decide to track cash as well as credit card purchases to better determine where your money is being spent. When you start investing, you can use GnuCash to help monitor your portfolio. Buying a vehicle or a home? GnuCash will help you plan the investment and track loan payments. If your financial records span the globe, GnuCash provides all the multiple-currency support you need. Between 5.15 and 5.16, the following bugfixes were accomplished: Bug 421610 - RFE: Include logical dates for View->Filter by "date range"The Select Range section of the Date tab of the register's Filter By dialog box is changed to provide relative, specific date, or days ago options for the start and end of the filter range. The Show number of days item label is changed to Show from days ago to better reflect what it does. Bug 436105 - esc key not working as expected in register: Enable the escape key to cancel a field edit. Bug 797384 - Gnucash doesn't handle commodity prices with big numerator/denominator properly. Bug 798004 - Next gen UI for stock transactions Bug 799314 - Add "enter now" option in scheduled transaction editor. tab to allow users to select the scheduled transactions to be included in a “Since Last Run…” window. If there are no instances of a selected transaction triggered by today’s date, the next instance is triggered. Bug 799751 - autocomplete crash Bug 799759 - Users can't Enable entries via Checkboxes on Scheduled Transactions PageAllow the Enabled box in the list of scheduled transactions to be operated instead of having to open the transaction editor dialog and change the Enabled checkbox. Also added use of the Name column as the secondary column sort for all the other columns. Bug 799762 - Poor handling of cases where hidden/placeholder accounts are used in the account register Bug 799766 - Double line preference not respected in search register Bug 799767 - POST /accounts in bindings/python/example_scripts/rest-api is broken Bug 799777 - `xaccSplitSetParent`: reparenting a committed split silently drops its KVP slots (online_id, cap-gains links) Other changes & improvements: Numeric values may now be selected to copy in the Accounts page. Add new Finance::Quote source Finnhub.io: Free API key (personal/non-professional use) available at https://finnhub.io. Set FINNHUB_API_KEY environment variable to API key to use this source. As of June 2026, free tier API limit is 60 API calls/minute. The Investment Lots report has new optional columns for Computed Annual Growth Rate. Python Bindings: Improved translation of primary object (Account, Transaction, Split, etc.) so that they can be treated as normal Python objects. This is accomplished with SWIG magic so no existing code is obsoleted. Python Bindings: Better conversion of GLists to Python lists. Python Bindings: Destroy the QofSession in the Python Session dtor to prevent leaving the database locked. [engine] Add first-class online_id accessors for Split and Account and make them available to Python bindings, removing the unused Transaction online_id property. Improve C++ implementation of QofBook. Correct the Doxygen doc for qof_instance_get/set_kvp. [gnc-log-replay.cpp] fix incorrect guid dump Add some Boost library requirements needed by libgnucash-guile to CMakeLists.txt so that missing feature will fail at configure time. Use Compile-time Regular Expressions instead of std::regex in gnc-filepath-utils.cpp and instead of boost::regex in the CSV importer, with the CTRE v3.11.1 header added to borrowed [gnc-filepath-utils.cpp] null check char* arguments Add ChartJS licenses. Removed AEX from list of commodities. euronext.com is now using JS based anti-webscraping. [report-core] always offer options summary in reports. This is useful to debug reports. The Add options summary option is removed because it's no longer optional. Remove remaining obsolete IMContext from sheet Fix blurry text in HiDPI offscreen-rendered widgets Add port field to database connection dialog: The convention of appending the port number after the host isn't obvious. When editing a split in the register treat the account as being changed only if it isn't the one selected before editing instead of if the user performed an edit Return immediately from qof_book_destroy if hash_of_collections is null. If qof_book_destroy is called on a QofBook* freshly created with qof_book_new (usually because it was used to create a session that now must be destroyed) it would try to empty the non-existent hash tables, crashing. Clean up Flathub metadata to solve warnings at flatpak build time. Be consistent in naming GncPluginPage and GncPluginPageRegister HTML: Remove unimplemented function declarations. [gnc-html.cpp] remove unused buggy string conversion functions Convert libgnc-html to C++ Apply -Wall -Werr -Wmissing-prototypes to C++ compilation on Windows and fix the resulting errors. New and Updated Translations: Arabic, Croatian, Danish, Dutch, German, Finnish, Hungarian, Korean, Norwegian-Bokmal, Spanish Download: GnuCash 5.16 | 176.0 MB (Open Source) Links: GnuCash Home page | Other Operating Systems | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Microsoft finally launches WSL Containers in public preview by David Uzondu Microsoft has announced that WSL containers, a feature that allows developers to run Linux containers natively inside Windows without the need for Docker Desktop, is now available in public preview several weeks after Microsoft previewed it at Build 2026. To use the new container feature, you first have to install the latest pre-release version of the Windows Subsystem for Linux by running a quick update command in your terminal: wsl --update --pre-release After installing, you'd get access to the new Linux container CLI (wslc.exe) and the programmable API. Microsoft said that the CLI has a "familiar format" that matches the toolsets developers already use every day. If you know standard Docker commands, your muscle memory will translate directly to wslc.exe, which even features a built-in alias called container.exe. You can quickly run a full Ubuntu KDE desktop container by exposing ports, or pass your graphics card straight into a machine learning environment to run PyTorch workloads. Passing the --gpus all flag inside the run command instantly links your hardware. Image via Microsoft As for the API, developers can now embed Linux container operations directly inside native Windows applications without exposing the command line to users. The team integrated the API directly into MSBuild and CMake, so developers can define container steps directly in project files. Apart from bringing the CLI and API into public preview, Microsoft also said that it's working on a new default file system called virtiofs to speed up file transfer rates between Windows and Linux. Microsoft also introduced an experimental networking mode named consomme, which resolves compatibility issues with corporate VPNs by routing Linux network traffic straight through Windows. One thing to note about WSL containers is that they don't run in your standard WSL distributions; instead, every application and CLI session spawns its own lightweight Hyper-V utility VM in the background. This basically reduces the chances of one app snooping on the container of another app.
  • Recent Achievements

    • Reacting Well
      NovaEdgeX earned a badge
      Reacting Well
    • Week One Done
      NovaEdgeX earned a badge
      Week One Done
    • One Year In
      BA the Curmudgeon earned a badge
      One Year In
    • Conversation Starter
      rosiecharles earned a badge
      Conversation Starter
    • First Post
      KMilenkoski1202 earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      533
    2. 2
      +Edouard
      269
    3. 3
      PsYcHoKiLLa
      150
    4. 4
      Steven P.
      98
    5. 5
      macoman
      66
  • Tell a friend

    Love Neowin? Tell a friend!