Accelerating the performance of an aging laptop
The basis for this article stemmed from the notion of getting a mac book for myself majorly due to its unmatched performance ( looks aside !! ). I was obsessed by the way it did things. It woke up from hibernation from within seconds where as my Thinkpad T420 running Ubuntu was taking north of 1 minute.
To be honest with you, I am one of those unlucky developers out there who always fascinates about a Macbook but never find it affordable ( at least for the current financial conditions 🙁 !!).
Now , this is where a geek gotta think like a geek. I just analyzed the way a Mac is built. There is no argument that its built out of best-in-class components and OS X is undoubtedly the single hero in the world of operating systems. But at the lowest level, a part of the top-notch performance originates from the hardware specs they are using. All these expensive machines are sporting latest in CPU , RAM and most importantly they all have “SSDs”. Trust me, that makes a very big difference in day-to-day performance of the system.
Now coming to my system, I have the following specs
- 320 GB HDD
- Intel core i5 processor
- 4GB DDR3 1333 MHz
- 1600 x 800 screen
- Ubuntu 14.04 LTS version as OS
I can tell you from my experience that a Thinkpad has got the best keyboard one can dream of. Also you will never be able to see the ruggedness in any of the other systems. So I had no reason to leave it behind. Now I searched the internet and found out the components that I can upgrade. The following came up to my final list. Each component affects the performance at different levels.
As you are all aware, any program that runs in your system is first loaded into the RAM from disk. If you don’t have enough RAM, the new program will require to have the existing obsolete memory to be moved to the disk ( swap partition) and this will create a delay. Now again if you try to access the old program, this will require the system to bring it back from disk . This completely degrades the performance . So its a good idea to always have more RAM.
Choosing the RAM
Before you upgrade the ram, you need to make sure that you are getting a RAM that is compatible with your system. Also consider the maximum capacity supported by your system. This will vary from system to system. You either check this from your manufacturer website or by using terminal commands.
In ubuntu , you can issue the following command to get the details for the hardware.
This will list all the hardware information and you need to check for the section memory and it will show the slot ( bank0 , bank1 etc for multiple slots ).
For my system ( Thinkpad T420 ), the maximum RAM capacity was 16GB. Also another important parameter is the speed of RAM. Mine was 1333Mhz. If you buy a higher one for a lesser speed system, it could create issues.
Finally, I settled for :
- Transcend Jet Ram 8GB x 2
- 1333 Mhz
I got 2*8GB for around Rs.7500/- ( $125 )
Installing the RAM
Installing the RAM is pretty easy ( atleast for the Thinkpads). But you need to be careful to use force only when required.
For thinkpad systems, one ram slot is available by removing the memory section cover from the backside and can be accessed by removing a single screw.
But the second slot is little tricky . It is under the keyboard. Even though there is only one screw, check out the video on youtube about how to remove the RAM under the keyboard.
After installing , turn on the system and check the RAM capacity.
Most of you might think what is the purpose of upgrading the SSD, the RAM itself will boost the performance. The truth is that upgrading the RAM will only increase the performance of multitasking. But you will still find a delay in launching applications, starting and shutting down of the system, suspend and hibernate.
All these operations involves reading from disk and writing to RAM and this is slow as the HDD has limited read speed that cannot be compared to RAM write speed. So the overall performance would only be 50% satisfactory.
This is where the significance of SSD comes into play. The modern SSDs has got read and write speeds of 500MB/s in average and that’s real good numbers when compared to the normal HDD. So you have all the reasons to move to an SSD.
Choosing the SSD
This is where you need to be careful again. One thing for compatibility and the other for the SSD itself. You need to make sure that the current system has got a SATA II connector for the HDD bay. If its not there, the SSD is not worth upgrading and most them does not support a lower interface ( IDE etc ). So things to keep in mind are
- Availability of SATA II connection for current HDD bay
- SSD thickness ( Most of them are 7mm )
- SSD with SATA II / SATA III compatibility
- A decent SSD of good read and write speeds. Do not go for cheaper ones here. As the price goes down, so does the read and write speeds.
After some market research, I went for the SAMSUNG EVO 850 120 GB . The 120GB version came around Rs.4500/- ( < $70 )
I will tell you why I chose a lower capacity in the upcoming section 🙂 .
Installing the SSD
Most of the laptops has got a easy access to the hard disk ( you may need to remove a single screw ). For the thinkpad , after removing the harddisk cover ( please check for any YouTube video for the same ) I was able to take out the current HDD . The HDD was put in a rubber railing for sturdiness and this HDD is 9.2 MM ( where in my SSD id 7 mm 🙁 ).
Hence when I first tried, the SSD was not fitting correctly and did not boot. I had to wrap the SSD around some hard paper in proper manner and made it almost 9.2 mm (I know, its a dirty trick. You just need to make sure that its fit properly. There are no moving parts in SSD as in the case of HDD, so normal jerk in the system would not cause any damage). After that I put in the SSD and started the system and I was able to detect it.
Utilizing the SSD
When it comes to SSD, these guys are pretty damn expensive. So I wanted to make sure that I get the maximum out of the minimum capacity. So you need to plan up something as below:
- Make sure that the OS is in the SSD.
- All your frequently accessed files and the applications reside in the SSD.
- In case of linux, make sure that you provide a swap space in SSD ( equivalent/greater than to the amount of the RAM you have in the system).
I did the following configuration:
- 50GB for the root partition ( where the OS resides). This will speed up the booting and shutting down.
- 20 GB for the swap ( my RAM is 16 GB) . This really helps in fast hibernate/suspend.
- 50 GB for storing my frequent document , projects, IDEs etc.
I left my movies and songs in the old HDD and is planning to use it more effectively. You can check it out here ( Using the ultra bay CD drive for housing HDD).
The final verdict
So now my system is upgraded with 16GB RAM and is equipped with 120GB SSD running Ubuntu 14.04 LTS 64bit.
How is it performing ??.. I would say “Unbelievable” . No , I am not exaggerating !. I will list out the improvements below:
- My system used to take 1 minute to boot and now gives my login screen in less than 10 seconds.
- I can hibernate ( with 5GB of data on RAM ) in less than 10 seconds and wake up in 15 seconds with all the data loaded and ready.
- IntelliJ IDE and Android studio launches in less than 5 seconds.
- All the files and programs are faster than ever.
All around, the system has improved performance 2 to 3 fold for the given configuration.
As a final note, I would say that all the money ( Rs. 12,000 / $184) I spent on the upgrade was worth every buck. If you are planning to buy a new system just because of performance degradation, you should definitely try this before you do that.
Long live my mighty machine 🙂